ubuntu19 安装mysql8.0.17 后重新设置root密码

mysql 版本:

终端输入: sudo cat /etc/mysql/debian.cnf

显示内容:

# Automatically generated for Debian scripts. DO NOT TOUCH!

[client]
host     = localhost
user     = debian-sys-maint
password = PGBiNPneSGXRlayQ
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = PGBiNPneSGXRlayQ
socket   = /var/run/mysqld/mysqld.sock


其中有user和password可以用来登录,登录后再修改密码;

终端输入:mysql -u debian-sys-maint -p ,再输入密码后,进入mysql中

mysql>

在mysql客户端中输入依次输入以下内容:

mysql> show databases;
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("root") where user="root";

mysql> update user set plugin="mysql_native_password";
mysql> flush privileges;
mysql> quit;

其中PASSWORD后面的root可以为其他自定义的密码

注意: 在mysql 8.0.x 之后废弃了 PASSWORD 加密函数,所以你需要更换其他加密方式:MD5()、SHA1()、SHA2()

在终端中输入 sudo /etc/init.d/mysql restart; 命令,重启msyql服务

使用新密码登录:

mysql -u root -p

注意: 如果你的mysql root 账户的 plugin 是 auto_socket ,你应该使用sudo

sudo mysql -u root -p



卸载mysql的命令:

sudo apt purge mysql-*

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

sudo apt autoremove


安装mysql的命令

sudo apt-get install mysql-client  mysql-server



查看mysql状态

sudo service mysql status


查看mysql服务器端口

sudo netstat -tap |grep mysql


开启、停止和重启mysql服务

sudo service mysql  start

sudo service mysql  stop

sudo service mysql  restart

 参考文档:ERROR 1698 (28000): Access denied for user 'root'@'localhost'

     https://forums.mysql.com/read.php?11,670066,670265

 
原文地址:https://www.cnblogs.com/feiquan/p/10782759.html