Ubuntu MySQL连接如何设置
导读:Ubuntu 上 MySQL 连接设置指南 一 本地连接与基础安全 安装与启动 更新软件源并安装:sudo apt update && sudo apt install mysql-server 检查与启动服务:sudo...
Ubuntu 上 MySQL 连接设置指南
一 本地连接与基础安全
- 安装与启动
- 更新软件源并安装:sudo apt update & & sudo apt install mysql-server
- 检查与启动服务:sudo systemctl status mysql(若未运行:sudo systemctl start mysql),设置开机自启:sudo systemctl enable mysql
- 登录与初始化安全
- 本地登录:mysql -u root -p
- 运行安全向导:sudo mysql_secure_installation(可设置 root 密码、移除匿名用户、禁止远程 root 登录、删除测试库等)
- 如未设置 root 密码或需重设(MySQL 5.7/8.0 常见):
- 进入客户端:sudo mysql
- 执行:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘YourStrongPassword’;
- 使权限生效:FLUSH PRIVILEGES;
二 远程连接设置
- 修改 MySQL 绑定地址
- 编辑配置文件:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf(或 /etc/mysql/my.cnf)
- 在 [mysqld] 段将 bind-address = 127.0.0.1 注释或改为 bind-address = 0.0.0.0(监听所有接口);保存后重启:sudo systemctl restart mysql
- 创建远程用户并授权
- 登录 MySQL:mysql -u root -p
- 创建仅允许特定 IP(推荐):
- CREATE USER ‘remote_user’@‘203.0.113.10’ IDENTIFIED BY ‘StrongPass!’;
- GRANT ALL PRIVILEGES ON your_db. TO ‘remote_user’@‘203.0.113.10’; *
- 如需允许任意 IP(安全性较低,仅测试或受信网络):
- CREATE USER ‘remote_user’@‘%’ IDENTIFIED BY ‘StrongPass!’;
- GRANT ALL PRIVILEGES ON . TO ‘remote_user’@‘%’;
- 使权限生效:FLUSH PRIVILEGES;
- 开放系统防火墙
- UFW:sudo ufw allow 3306/tcp(或 sudo ufw allow mysql)
- firewalld:sudo firewall-cmd --zone=public --add-service=mysql --permanent & & sudo firewall-cmd --reload
- 测试远程连接
- 从客户端:mysql -h YOUR_SERVER_IP -u remote_user -p
- 若使用云服务器,确保安全组/网络 ACL 也放行 TCP 3306
三 安全与性能优化
- 限制来源 IP:优先使用 ‘user’@‘特定IP’ 而非 ‘%’;必要时按网段限制
- 避免直接用 root 远程:为应用创建最小权限的专用账户
- 加密传输:生产环境建议启用 TLS/SSL 连接(客户端与服务器端配置证书)
- 连接数管理:在 [mysqld] 中设置 max_connections(如:max_connections = 500),并重启生效
- 高并发应用:使用连接池(如 Python mysql.connector.pooling)降低连接开销
四 常见问题排查
- 服务未启动:sudo systemctl status mysql,查看日志:sudo journalctl -xe
- 端口未监听或被占用:检查端口 3306 与进程,必要时更换端口或释放占用
- 配置未生效:确认修改的是 /etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/mysql/my.cnf 的 [mysqld] 段,并执行 sudo systemctl restart mysql
- 用户权限问题:确认账户 host 字段为客户端 IP 或 %,并执行 FLUSH PRIVILEGES;
- 防火墙/云安全组:确认 UFW/firewalld 或云厂商安全组已放行 3306/TCP
- 连接被拒绝或超时:核对服务器 IP/端口、账户凭据、网络连通性与监听地址
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu MySQL连接如何设置
本文地址: https://pptw.com/jishu/757321.html
