遇到錯誤ERROR 1044 (42000): Access denied for user ''@'localhost'to database 'mysql',的解決辦法,104442000
新裝的mysql,訪問mysql資料庫是遇到問題:ERROR 1044 (42000): Access denied for user ''@'localhost'to database 'mysql',
[root@dzwww mysql-5.1.61]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.61 Source distribution
Copyright (c) 2000, 2011, 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
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
mysql>
最後發現解決方案是:
開啟my.ini,在
[mysqld]
skip-external-locking
skip-name-resolve
#skip-grant-tables
其中skip-grant-tables跳過許可權驗證是被注釋掉的,去掉注釋,重新啟動mysql:
[root@aaa libexec]# /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/data0/mysqldata --user=mysql --log-error=/data0/mysqldata/mysql-error.log --open-files-limit=20000 --pid-file=/data0/mysqldata/dzwww.com-B15-5-3-36.pid --socket=/tmp/mysql.sock --port=3306
[root@dzwww mysql-5.1.61]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.61-log Source distribution
Copyright (c) 2000, 2011, 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
mysql>grant all privileges on *.* to root@localhost identified by 'mysql'
然後重新登入 ok,成功!