centos mysql 搭建完成之后登录报错“Access denied for user 'root'@'localhost' (using password: YES”)

1、编辑 /etc/my.cnf ,在[mysqld] 部分最后添加一行

  1. skip-grant-tables

2、保存后重启mysql

  1. service mysqld restart

3、输入以下命令,回车后输入密码再回车登录Mysql

  1. mysql -uroot -p mysql

4、重新设置密码,其中 your_pwd 部分改为你自己想要设置的密码

  1. update user set password=password("your_pwd") where user='root';

这里可能汇报ERROR 1054 (42S22): Unknown column 'password' in 'field list'错误
产生这个错误的原因是 5.7版本一下的mysql数据库已经没有password这个字段了,password字段改成了authentication_string
改为:
pdate mysql.user set authentication_string=password("root") where user="root";

5、刷新权限

  1. flush privileges;

6、\q Mysql,删除第一步添加的 skip-grant-tables,用第2步的方法重启MySQL,用修改后的密码重新登录

出现Welcome字样即为登录成功!

7、配置 navicat premium 或者 navicat mysql 远程访问

第6步登录成功之后,输入以下命令,其中

a) %代表任何主机都能访问该服务器,如果想要某一特定IP访问,则将%符号改成特定的IP地址

b) your_pwd代表远程访问时输入的密码

  1. GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'your_pwd' WITH GRANT OPTION;
  2. FLUSH PRIVILEGES;

8、然后用navicat premium访问测试,输入服务器IP、端口默认3306、用户名root和刚刚改过的密码,点击测试

image

你可能感兴趣的:(centos mysql 搭建完成之后登录报错“Access denied for user 'root'@'localhost' (using password: YES”))