遇到的错误
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) denied for user 'root'@'localhost' (using password: NO)
描述:刚安装完MySQL,第一次登陆。
[wangyang@CentOS ~]$ mysql -u root -p
Enter password: #我记得root初始是没密码的,这句直接回车
ERROR (): Access denied for user 'root'@'localhost' (using password: NO) denied for user 'root'@'localhost' (using password: NO)
然后我就直接尝试修改MySQL的root密码:
[wangyang@CentOS ~]$ mysqladmin -u root -p password
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
问题是什么我没弄清楚,解决方案如下:
[root@CentOS ~]# service mysql stop
[root@CentOS ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
[wangyang@CentOS ~]$ mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; #newpassword为root新密码
mysql> FLUSH PRIVILEGES;
mysql> quit
[root@CentOS ~]# service mysql start
[wangyang@CentOS ~]$ mysql -u root -p
Enter password: #输入新密码,OK
You must SET PASSWORD before executing this statement
描述:参考前文利用安全模式成功登陆,然后修改密码,等于给MySql设置了密码。登陆进去后,想创建一个数据库测试下。得到的结果却是:
ERROR (HY000): You must SET PASSWORD before executing this statement
解决方法:
mysql> create database localtest;
ERROR (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('');
Query OK, rows affected (0.03 sec) mysql> create database yan1;
Query OK, row affected (0.00 sec)
不懂为什么再设置一遍密码。