mysql8.0 添加授权访问用户,允许所有IP访问,本地开发环境
在 MySQL 8.0 中添加授权用户并允许所有 IP 访问的步骤如下(注意:此配置仅适用于本地开发环境,生产环境切勿开放 root 用户远程访问):
1. 登录 MySQL
mysql -u root -p输入当前 root 用户密码登录。
2. 创建远程访问用户(使用 IDENTIFIED BY 语法)
CREATE USER 'root'@'%' IDENTIFIED BY '123456';'root'@'%':创建名为 root 的用户,允许从任何 IP 地址连接IDENTIFIED BY '123456':设置密码为 123456
3. 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;ALL PRIVILEGES:授予所有权限(生产环境建议按需分配)*.*:对所有数据库的所有表生效WITH GRANT OPTION:允许该用户将自己拥有的权限授予他人
4. 刷新权限
FLUSH PRIVILEGES;5. 确认用户权限
SELECT user, host, authentication_string FROM mysql.user WHERE user = 'root';应看到类似以下输出:
+------+------+-------------------------------------------+
| user | host | authentication_string |
+------+------+-------------------------------------------+
| root | % | $A$005$........(加密后的密码)........... |
+------+------+-------------------------------------------+6. 修改 MySQL 配置文件(可选)
如果仍然无法远程连接,可能需要修改 MySQL 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf,注释掉 bind-address:
# bind-address = 127.0.0.1然后重启 MySQL 服务:
sudo systemctl restart mysql注意事项
- 安全风险:此配置会使 root 用户可以从任意 IP 访问,仅适用于本地开发环境
- 防火墙:确保服务器防火墙开放 3306 端口
生产环境建议:
- 创建专用用户而非使用 root
- 限制访问 IP(如
'user'@'192.168.1.%') - 使用强密码
- 定期审计用户权限
验证远程连接时,可以使用以下命令测试:
mysql -h <服务器IP> -u root -p版权属于:Joyber
本文链接:https://blog.qqvbc.com/default/1330.html
转载时须注明出处及本声明