mysql_real_connect(): Access denied for user 'root'@'localhost' (using password: YES)

来源:互联网 发布:windows消息机制详解 编辑:程序博客网 时间:2024/04/29 10:18
环境:
[mycentos@localhost ~]$ cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[mycentos@localhost ~]$ getconf LONG_BIT
64


解决方法参考:http://stackoverflow.com/questions/19533441/access-denied-for-user-rootlocalhost-using-password-yes-after-password-r


You can recover MySQL database server password with following five easy steps. Here are commands you need to type for each step (login as the root user):


Step # 1 : Stop mysql service


/etc/init.d/mysql stop


Output:


Stopping MySQL database server: mysqld.


Step # 2: Start to MySQL server w/o password:


mysqld_safe --skip-grant-tables &


Output:


[1] 5988


Starting mysqld daemon with databases from /var/lib/mysql


mysqld_safe[6025]: started


Step # 3: Connect to mysql server using mysql client:


mysql -u root


Output:


Welcome to the MySQL monitor. Commands end with ; or \g.


Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql>


Step # 4: Setup new MySQL root user password


mysql> use mysql;


mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';


mysql> flush privileges;


mysql> quit


Step # 5: Stop MySQL Server:


/etc/init.d/mysql stop


Output:


Stopping MySQL database server: mysqld


STOPPING server from pid file /var/run/mysqld/mysqld.pid


mysqld_safe[6186]: ended


[1]+ Done mysqld_safe --skip-grant-tables


Step # 6: Start MySQL server and test it


/etc/init.d/mysql start


mysql -u root -p



0 0
原创粉丝点击