MYSQL 8.0 及以上版本设置远程连接。

2023-11-20

卸载:

在 Ubuntu 系统上彻底卸载 MySQL 8.0 可以按照以下步骤进行操作:

  1. 停止 MySQL 服务,输入以下命令:

sudo systemctl stop mysql

  1. 删除 MySQL 相关文件和文件夹,输入以下命令:

sudo apt-get remove --purge mysql-server mysql-client mysql-common -y

sudo apt-get autoremove -y

sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql

  1. 删除 MySQL 用户和组,输入以下命令:

sudo deluser mysql sudo delgroup mysql

  1. 检查是否还存在其他 MySQL 软件包,输入以下命令:

dpkg -l | grep mysql

  1. 如果有任何输出结果,请使用以下命令删除它们:

sudo apt-get remove --purge <软件包名称>

  1. 最后,清除系统缓存并重新启动计算机,输入以下命令:

sudo apt-get clean sudo reboot

完成以上步骤后,您的 Ubuntu 系统上已完全卸载 MySQL 8.0。

安装:

官方文档:MySQL : MySQL 8.0 参考手册 

mysql8.0

1.首先更新本地存储库索引,执行

sudo apt update

2.从APT存储库安装MySQL,执行

sudo apt install mysql-server

在安装过程中,可能会出现[Y / n]问题,输入Y继续

3.安装完成后可以输入

mysql --version mysql -V

查看版本

4.安装后,MySQL服务器应自动启动。 要检查它是否正在运行,执行

systemctl status mysql.service

5. 执行 mysql_secure_installation 修改密码不成功

登入到 MySQL

mysql -uroot -p

执行

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'passwd';

修改密码

无法连接

输入

netstat -ano|grep '3306'

这表示MySQL 服务器似乎只在本地回环地址(127.0.0.1)上监听了端口 3306 和 33060

这意味着 MySQL 只能接受来自本地主机的连接,并且无法从其他主机访问

您需要在 MySQL 配置文件 my.cnf 中添加或修改以下行:

[mysqld]

bind-address = 0.0.0.0

source my.cnf

然后重启mysql服务再次查看

systemctl restart mysql.service

netstat -ano|grep '3306'

0.0.0.0 表示允许其他主机远程访问

#然后用root加密码链接,还是不行

#mysql8.0不允许root用户远程连接,所以要创建一个新用户。

  1. 假设您想要创建一个名为 newuser 的用户,您可以使用以下命令:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

  1. 授权新用户访问所有数据库。为了授予新用户访问所有数据库的权限,请执行以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';

  1. 刷新 MySQL 权限以确保更改生效。

FLUSH PRIVILEGES;

-------

使用Navicat链接工具还是无法连接时:

  1. 修改用户的身份验证方式

如果您无法升级 MySQL 客户端,也可以尝试修改 MySQL 用户的身份验证方式,使其兼容旧版的客户端。您可以使用以下命令修改用户的身份验证方式:

ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

其中,user 是您想要修改身份验证方式的用户名,localhost 表示该用户只能在本地连接 可改为%, MySQL,password 是该用户的密码。

  1. 修改 MySQL 服务器的默认身份验证方式

如果多个客户端需要连接 MySQL 8.0,并且您不能够升级所有客户端,那么您可以尝试将 MySQL 服务器的默认身份验证方式改为旧版的方式。您可以在 MySQL 配置文件 my.cnf 中添加以下行将默认身份验证方式改为 mysql_native_password:

[mysqld]

default_authentication_plugin=mysql_native_password

--

进入mysql库查看user表

select user,host from user;

% 表示 允许所有IP,远程访问

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MYSQL 8.0 及以上版本设置远程连接。 的相关文章

  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • 如何将 MySQL 查询输出保存到 Excel 或 .txt 文件? [复制]

    这个问题在这里已经有答案了 如何将 MySQL 查询的输出保存到 MS Excel 工作表 即使只能将数据存储在 txt文件 就可以了 From 将 MySQL 查询结果保存到文本或 CSV 文件中 http www tech recipe
  • 无法在 .net core 2 中从 MySQL 构建“日期”类型列

    我已经开始了一个新的 net core 2 项目 我正在尝试将 MySQL 数据库导入实体框架 我使用此命令来搭建数据库 Scaffold DbContext server localhost port 3306 user id user
  • 猪的组连接等效吗?

    试图在 Pig 上完成这个任务 寻找 MySQL 的 group concat 等效项 例如 在我的表中 我有以下内容 3fields userid clickcount pagenumber 155 2 12 155 3 133 155
  • MySQL 数据库无法在 XAMPP for Mac 上启动

    突然我在 mac 上遇到了这个问题 我无法启动我的 MySQL 数据库 我只能启动 ProFTPD 和 Apache Web Server 这是应用程序日志 Starting all servers Starting MySQL Datab
  • 在MySQL中生成随机字符串

    我正在尝试使用函数在 phpmyadmin 中获取随机字符串 我有以下代码 CREATE FUNCTION randomPassword RETURNS varchar 128 BEGIN SET chars ABCDEFGHIJKLMNO
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • JDBC 错误:在结果集开始之前[重复]

    这个问题在这里已经有答案了 我在 Java Eclipse 中收到错误消息 我在 MySql 中有一个数据库 它有列 String user name int id time int id desk int user password 我想
  • Mysql带限制的删除语句

    我试图从表中删除行 但出现错误 DELETE FROM chat messages ORDER BY timestamp DESC LIMIT 20 50 我在 50 时收到此错误 您的 SQL 语法有错误 检查与您的 MySQL 服务器版
  • MySql 视图脚本中的注释

    可以这样做吗 我尝试过多个 gui mysql workbench navicat toad for mysql 但没有一个保存这样的注释 something important select something else importan
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in
  • SQL Server 2005 是否有与 MySql 的 ENUM 数据类型等效的数据类型?

    我正在开发一个项目 我想在表中存储一些容易枚举的信息 MySql 的枚举数据类型正是我想要的 http dev mysql com doc refman 5 0 en enum html http dev mysql com doc ref
  • 如何对 SQL 进行多次查询

    我正在尝试创建一个表 并在 PHP 脚本的帮助下在数据库中插入一些值 虽然只插入 1 行 但效果很好 当我尝试输入更多行数时 出现错误 我需要为每个查询编写完整的插入语句 因为我正在使用在线 Excel 到 SQL 查询转换器
  • MySQL InnoDB 约束不起作用

    我偶然发现 innoDB 约束的奇怪行为 但找不到原因 我有包含数据的表格 下面列出了它们的结构 CREATE TABLE contents id int 10 unsigned NOT NULL AUTO INCREMENT title
  • 如何从 MySQL 数据查询创建 XML 文件?

    我想知道一种仅使用 MySQL 查询创建 XML 文件的方法 根本不使用任何脚本语言 有关于这个主题的书籍 教程吗 UPDATE 我想澄清一下 我想使用 sql 查询将 XML 数据转发到 php 脚本 Here s 关于从 MySQL S
  • 在 MySQL 数据库中保持 TEXT 字段唯一的最佳方法

    我想让 TEXT 字段的值在我的 MySQL 表中唯一 经过小型研究 我发现由于性能问题 每个人都不鼓励在 TEXT 字段上使用 UNIQUE INDEX 我现在想用的是 1 创建另一个字段来包含 TEXT 值的哈希值 md5 text v
  • 奇怪的 MySQL Python mod_wsgi 无法连接到 'localhost' (49) 上的 MySQL 服务器问题

    StackOverflow上也有类似的问题 但我还没有发现完全相同的情况 这是在使用 MySQL 的 OS X Leopard 机器上 一些起始信息 MySQL Server version 5 1 30 Apache 2 2 13 Uni
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • phpActiveRecord 日期时间格式不正确

    当尝试使用 phpActiveRecord 在表中创建记录时 出现以下错误 Invalid datetime format 1292 Incorrect datetime value 2013 06 20 11 59 08 PDT for

随机推荐