次错误是由于权限造成的,或者没有设置密码
解决方案:
1.停掉mysql 服务, 可以 /etc/rc.d/init.d/mysql stop ,如果提示有那个servier,那命令改成 sudo service mysql stop(记得sudo)
2. 首先尝试: mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
如果不行,则用下面这条
sudo mysqld --skip-grant-tables
3.新打开终端 mysql -u root 登录
mysql> use mysql;
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysqld restart
Update: As of MySQL 5.7, the password
field has been renamed authentication_string
. When changing the password, use the following query to change the password. All other commands remain the same:
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
https://stackoverflow.com/questions/6474775/setting-the-mysql-root-user-password-on-os-x