使用mysql -u root -p可以正常登录
使用SQLog连接是显示错误代码:2003
以下是解决步骤:
- 关闭防火墙
- Linux设置mysql远程访问
a. 设置root用户访问此数据库下的所有表
b. 设置所有ip下的root用户允许访问 - 刷新设置
实施代码:
1.查看防火墙状态:systemctl status firewalld
2.暂时关闭防火墙:systemctl stop firewalld
(或者 永久关闭防火墙:systemctl disable firewalld
)
3.登录数据库:mysql -u root -p
4.使用mysql数据库:use mysql
成功提示:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
5.设置root用户访问此数据库下的所有表:
update user set `Select_priv` = 'Y', `Insert_priv` = 'Y', `Update_priv` = 'Y', `Delete_priv` = 'Y', `Create_priv` = 'Y', `Drop_priv` = 'Y', `Reload_priv` = 'Y', `Shutdown_priv` = 'Y', `Process_priv` = 'Y', `File_priv` = 'Y', `Grant_priv` = 'Y', `References_priv` = 'Y', `Index_priv` = 'Y', `Alter_priv` = 'Y', `Show_db_priv` = 'Y', `Super_priv` = 'Y', `Create_tmp_table_priv` = 'Y', `Lock_tables_priv` = 'Y', `Execute_priv` = 'Y', `Repl_slave_priv` = 'Y', `Repl_client_priv` = 'Y', `Create_view_priv` = 'Y', `Show_view_priv` = 'Y', `Create_routine_priv` = 'Y', `Alter_routine_priv` = 'Y', `Create_user_priv` = 'Y', `Event_priv` = 'Y', `Trigger_priv` = 'Y', `Create_tablespace_priv` = 'Y' where user='root' and host='localhost';
成功提示:
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
6.设置所有ip下的root用户允许访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
7.刷新访问权限表:flush privileges;
成功提示:
Query OK, 0 rows affected (0.00 sec)
然后就ok啦!!
睡觉~~
参考:https://zhuanlan.zhihu.com/p/60539230
https://blog.csdn.net/baidu_36124158/article/details/90603496
https://blog.csdn.net/yongjian_luo/article/details/51406824