ubuntu 10.10,裝好mysql資料庫,在進入mysql工具時,提示:
複制代碼 代碼示例:
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
修改root使用者的密碼:
複制代碼 代碼示例:
# mysqladmin -uroot -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
分享一些正确的方法,供大家參考。
方法一:
複制代碼 代碼示例:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password:
mysql>
方法二:
直接使用/etc/mysql/debian.cnf檔案中[client]節提供的使用者名和密碼:
複制代碼 代碼示例:
# mysql -udebian-sys-maint -p
Enter password:
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password:
mysql>
方法三:
未測試,因為我的root使用者預設密碼已修改過。
大家自行測試:
複制代碼 代碼示例:
# mysql -uroot -p
Enter password:
注意:
flush privileges重新整理MySQL的系統權限相關表,否則會出現拒絕通路。
另一種方法就是重新啟動mysql伺服器,以使新的配置生效。