mysql 报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
1.跳过密码验证进入mysql
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
找到[mysqld]这一块代码,在后面加上skip-grant-tables,如下:
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
character_set_server=utf8
skip-external-locking
skip-grant-tables
2.保存后重启mysql
service mysql restart
mysql -u root -p
输入安装mysql时的密码
use mysql;
3.修改密码
update user set authentication_string=password("yourNewPassword") where User='root';
然后输入mysql> exit;
退出mysql界面
4.回到第一步,将加入的语句注释掉
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
character_set_server=utf8
skip-external-locking
#skip-grant-tables
保存后就可以输入service mysql restart,重启mysql.
接着输入mysql -u root -p,回车输入密码就不会在出错了