MySQL 设置root密码报错:mysqladmin: connect to server at 'localhost' failed

时间:2019-03-15
本文章向大家介绍MySQL 设置root密码报错:mysqladmin: connect to server at 'localhost' failed,主要包括MySQL 设置root密码报错:mysqladmin: connect to server at 'localhost' failed使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

MySQL 设置root密码报错:mysqladmin: connect to server at 'localhost' failed

1.安装完MySQL设置root密码报错如下

[root@vm172-31-0-6 data]# mysqladmin -uroot password "linux@123"
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

2.停止MySQL服务

[root@vm172-31-0-6 ~]# systemctl stop mysqld.service

3 安全模式启动

[root@vm172-31-0-6 mysql]# mysqld_safe --skip-grant-tables &
[1] 20777
[root@vm172-31-0-6 mysql]# 190315 01:43:28 mysqld_safe Logging to '/var/log/mysqld.log'.
190315 01:43:28 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

4 无密码root帐号登陆

[root@vm172-31-0-6 mysql]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.43-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql;
Database changed

5 手动update修改密码

mysql> update user set password=password("linux@123") where user='root' and host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

重新使用密码登录

[root@vm172-31-0-6 mysql]# mysql -uroot -plinux@123
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.43-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

6 正常重新启动

[root@vm172-31-0-6 ~]# service mysqld start

#查看进程

[root@vm172-31-0-6 ~]# ps -ef|grep mysql
root     19768 17076  0 01:37 pts/1    00:00:00 tail -f -n 300 /var/log/mysqld.log
mysql    27591     1  0 02:01 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql    27820 27591  8 02:01 ?        00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
root     27849 27405  0 02:01 pts/2    00:00:00 grep --color=auto mysql

#查看端口号

[root@vm172-31-0-6 ~]# netstat -lntup|grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      27820/mysqld        

至此mysql密码修改完成。