Ubuntu安装MySql配置及问题解决

2019-11-17T20:30:41.889 | 浏览:33 | 文章类别: 数据库

安装MySql

sudo apt-get update
sudo apt-get install mysql-server

配置MySql

sudo mysql_secure_installation

回车后,会出现MySQL的配置项,根据自己实际情况来填写。 可参考: mysql配置
当看到Success done 说明已经配置完成。

验证MySQL安装状态

systemctl status mysql.service

可参考: (看到绿色字样:active(running)说明正在运行中)

这时就可以登录MySQL了,但非root用户登录的话可能会先Error1698错误。

解决非root用户登录MySQL 出现 error1698 错误

  1. 设置MySQL跳过密码验证
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在mysqld.cnf配置文件中加入: skip-grant-tables 如下图所示:

然后保存并退出当前配置文件.
  1. 进入MySQL,并进行设置

    进入MySQL, 不需要输入密码,输完下面代码直接回车就进入到了MySQL

mysql -u root -p

按下图所示,一步一步来走, 我没会看到 root的plugin字段是 auth_socket, 我们把它改为 mysql_native_password 就好了。 输入以下代码更改:

update user set authentication_string=password("你的新密码"),plugin='mysql_native_password' where user='root';

输完完成后,我们查看下是否修改成功了

select user,plugin from user;

这时,可以看到哦已经修改好了。

  1. 把跳过密码验证给去掉,之后我们来试下非root用户登录是否好了。
    1. 进入配置文件,注释掉 skip-grant-tables shell sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
      > 之后,保存退出
    2. 测试是否设置成功 mysql -u root -p

      回车后,输入你刚才设置的密码,应该就成功了。

参考链接1: http://ofus.ink/articles/article/43/
参考链接2: https://www.cnblogs.com/cpl9412290130/p/9583868.html