Ubuntu 18.04安装mysql 5.7.23

之前在Ubuntu 16.04安装 MySQL的时候很顺利,这次在 Ubuntu 18.04 中安装 MySQL 5.7.23 中,遇到一些坑,折腾了好久,这里做一个记录。

1. 安装数据库

sudo apt-get install mysql-server

Ubuntu 18.04安装mysql 5.7.23

默认情况下,在安装 mysql-server 的时候就会安装,mysql-client 等相关客户端。

2. 这个时候直接登录会出现问题

Ubuntu 18.04安装mysql 5.7.23

这就是一个坑,后来折腾半天发现使用 root 权限登陆的话就会成功。

Ubuntu 18.04安装mysql 5.7.23

好吧,既然只能在 root 用户权限下能够登陆,那我们就先来看看 mysql.user 存在哪些关键信息,

先查看 user 表结构:

mysql> show columns from user;

Ubuntu 18.04安装mysql 5.7.23

里面主要有这几项:

Host  User  authentication_string(这里就是加密后的password)  plugin

查看一下表中这几项关键数据:

Ubuntu 18.04安装mysql 5.7.23可以看到,root 密码依旧是空,plugin 明显与其他不同,之后查阅相关资料,发现这就是普用户无法登陆的问题所在。

3. 解决问题并修改密码

mysql> update user set authentication_string=PASSWORD("123456"), plugin="mysql_native_password" where user="root";
 
mysql> FLUSH PRIVILEGES;
 
# 退出重启 MySQL 服务
mysql> exit;
fknight@v310:~$ service mysql restart

更新后:

Ubuntu 18.04安装mysql 5.7.23

现在就可以在普通用户权限情况下使用 root 账户名登录 MySQL 数据库。Workbench/Navciat 也就可以连接数据库正常使用了。

Ubuntu 18.04安装mysql 5.7.23

总结:

# 安装MySQL 和 Workbranch
fknight@v310:~$ sudo apt-get install mysql-server mysql-client mysql-workbench
 
# 以 root 权限连接数据, 初始密码为空
fknight@v310:~$ sudo mysql -u root -p
 
# 修改 plugin 实现 普通用户也能使用 mysql 的 root 用户来登录,同时修改 root 密码
mysql> update user set authentication_string=PASSWORD("123456"), plugin="mysql_native_password" where user="root";
 
# 退出重启 MySQL 服务
mysql> exit;
fknight@v310:~$ service mysql restart

相关推荐