sudo apt update
sudo apt install mysql-server -y
登录 MySQL(初始安装后 root 无密码)
sudo mysql
-- MySQL 命令行中执行
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'jiangyouge';
FLUSH PRIVILEGES;
EXIT;
编辑 MySQL 配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address 并修改为:
bind-address = 0.0.0.0
mysql -u root -pjiangyouge
-- MySQL 命令行中执行
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'jiangyouge';
GRANT ALL PRIVILEGES ON . TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
sudo systemctl restart mysql
sudo ufw allow 3306/tcp
sudo ufw reload
验证远程连接
从另一台机器测试连接:
mysql -h <服务器IP> -u root -p
输入密码 jiangyouge
注意事项:
安全警告:生产环境不建议允许 root 远程访问,应创建专用用户并限制权限密码强度:确保密码符合安全策略(如需要调整策略可修改 validate_password 组件)
云服务器:需在云平台安全组中开放 3306 端口
可选安全加固:
sudo mysql_secure_installation
根据提示移除测试数据库、匿名用户等
完成以上步骤后,MySQL 将以新密码运行并允许远程访问。