mysql远程访问连接设置
修复命令(MySQL 命令行执行):
sql
-- 授权 root 用户从 192.168.X.X 访问,密码设为 '你的密码'(替换成实际密码)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.X.X' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
若需允许任意主机(测试环境用,生产不推荐 ),可替换主机为 %:
sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
执行后重新测试 Navicat 连接即可。
1. 检查 MySQL 用户权限设置
登录 MySQL 命令行:打开终端,输入 mysql -u root -p ,回车后输入 root 用户的密码,进入 MySQL 命令行界面。
查看用户权限:执行 SELECT User, Host FROM mysql.user; ,查看 root 用户对应的 Host 值。如果 root 用户的 Host 是 % 却出现权限问题,可能是权限没有正确授予。
授予权限:执行以下命令授予 root 用户对所有数据库(*.* 表示所有数据库下的所有表 )的所有权限:
sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
刷新权限:执行 FLUSH PRIVILEGES; 让权限设置立即生效,然后输入 exit 退出 MySQL 命令行。
2. 在 Navicat 中重新创建数据库
打开 Navicat:确保 Navicat 已经正确连接到 MySQL 数据库。点击 Navicat 界面左上角的 “连接” 按钮,确认连接状态正常。
创建数据库:在 Navicat 的左侧连接列表中,右键单击已连接的 MySQL 实例,选择 “新建数据库” 。
设置数据库参数:在弹出的 “新建数据库” 窗口中,输入数据库名称(如 mqc ),选择合适的字符集(比如 utf8mb4 ),然后点击 “确定” 。
如果完成上述操作后,还是出现权限相关问题,可以尝试重启 MySQL 服务,在 Ubuntu 系统中,执行 sudo systemctl restart mysql ,然后再次在 Navicat 中创建数据库。