Ubuntu的MySQL(MariaDB)默认密码和修改方法

Posted zhuxiaoxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu的MySQL(MariaDB)默认密码和修改方法相关的知识,希望对你有一定的参考价值。

由于笔者只使用过16.04.4和19.04,此方法不确定在其他版本下适用

本文章介绍的方法同样适用于这样的错误信息。

?  ~ mysql -u root -p          
Enter password: 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

查看默认密码

使用包管理器安装MySQL后,查看这个文件可以看到安装后的默认密码/etc/mysql/debian.cnf,这个密码是属于debian-sys-maint的,而非root
即使在这里你可能可以使用root用户登录,因为root用户默认登录方式是使用socket连接,而不验证密码。推荐继续阅读修改为使用密码连接。

修改root密码

如果需要修改先使用debian-sys-maint登录数据库,完成一下操作

  1. select user, plugin from mysql.user;查看默认的连接方式。
  2. 如果是auth_socket(MySQL)的连接方式,可以继续进行。
  3. update mysql.user set authentication_string=PASSWORD(‘root‘), plugin=‘mysql_native_password‘ where user=‘root‘;使用这一行明令将root密码修改为root。
  4. flush privileges;应用权限
  5. 退出并重启MySQL

MariaDB的兼容性

上面的方法仅针对MySQL测试,是否兼容MariaDB未知。
MariaDB的root默认连接方式是unix_socket(MariaDB)

以上是关于Ubuntu的MySQL(MariaDB)默认密码和修改方法的主要内容,如果未能解决你的问题,请参考以下文章

MariaDB 没有在 Ubuntu 15.04 上检查密码

ubuntu mysql(mariadb)

MariaDB 安装时没有密码提示

mysql(mariadb)如何更改root密码

如何MySQL和MariaDB数据库修改root密码

ubuntu 16.04 Dockerfile 安装mysql