MySQL 设置root密码报错:mysqladmin: connect to server at 'localhost' failed
出处:https://www.cnblogs.com/heyongboke/p/10534655.html
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密码修改完成。