ubuntu安装mysql8并开启远程访问功能

1.去http://dev.mysql.com/downloads/repo/apt/.下载一个mysql-apt-config_0.*.****_all.deb,使用

sudo dpkg -i mysql-apt-config_0.*.****_all.deb

安装执行,选择MySQL8.0,然后通过鼠标选择最后行的OK,回到终端窗口。

执行sudo apt update。

然后使用sudo apt install mysql-server命令,就会安装MySQL8.0

按此方法会在安装过程中出现如下界面要求用户输入MySQL密码,注意输入完两次密码之后,安键盘的→键,进入下一个页面。

MySQL8.0采用了新的加密方式,一定要注意,正是因为这个加密方式才导致Ubuntu18.04用设置的root密码登录不了MySQL,因为Ubuntu18.04的终端可能有问题,并不支持这个新的加密方式。幸好有界面可以让我们选择使用旧版本5.x的加密方式,所以果断选择采用5.x的加密方式。

最后在终端输入mysql -u root -p命令并输入密码检查安装成功而且可以看到MySQL版本号为8.0!!

开启远程访问功能:

1.首先查看防火墙状态

防火墙版本的不同命令也会有不同

0.4的命令为

systemctl status firewall.service 

0.5的命令为

systemctl status firewalld

防火墙没有运行

2.命令登入服务器mysql

3.执行下面语句添加权限

use mysql;

select host, user, authentication_string, plugin from user;

查看user表的root用户Host字段是localhost,说明root用户只能本地登录,现在把他改成远程登录

update user set host='%' where user='root';

4.刷新权限

所有操作后,应执行

FLUSH PRIVILEGES;

执行后继续连接发现还是报错

查找问题后发现

MySQL8.0之前的版本密码加密规则:mysql_native_password,

MySQL8.0密码加密规则:caching_sha2_password

不一样

5.修改mysql加密规则

输入命令

 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

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

加密规则改了也同样设置密码

 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新的密码';

再试

发布了46 篇原创文章 · 获赞 12 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/malingyu/article/details/94629226