1、编辑 /etc/my.cnf ,在[mysqld] 部分最后添加一行
- skip-grant-tables
2、保存后重启mysql
- service mysqld restart
3、输入以下命令,回车后输入密码再回车登录Mysql
- mysql -uroot -p mysql
4、重新设置密码,其中 your_pwd 部分改为你自己想要设置的密码
- 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、刷新权限
- flush privileges;
6、\q Mysql,删除第一步添加的 skip-grant-tables,用第2步的方法重启MySQL,用修改后的密码重新登录
出现Welcome字样即为登录成功!
7、配置 navicat premium 或者 navicat mysql 远程访问
第6步登录成功之后,输入以下命令,其中
a) %代表任何主机都能访问该服务器,如果想要某一特定IP访问,则将%符号改成特定的IP地址
b) your_pwd代表远程访问时输入的密码
- GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'your_pwd' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
8、然后用navicat premium访问测试,输入服务器IP、端口默认3306、用户名root和刚刚改过的密码,点击测试
image
</article>