启动MySQL服务
echo 启动MySQL服务...
sudo systemctl start mysql
sudo systemctl enable mysql
运行安全配置向导(非交互式)
echo 执行安全配置...
sudo mysql_secure_installation <<EOF
y
$MYSQL_ROOT_PASSWORD
y
y
y
y
EOF
创建数据库和用户
echo 创建数据库和用户...
sudo mysql -u root -p$MYSQL_ROOT_PASSWORD <<EOF
CREATE DATABASE $MYSQL_DATABASE;
CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_USER_PASSWORD';
GRANT ALL PRIVILEGES ON $MYSQL_DATABASE.* TO '$MYSQL_USER'@'%';
FLUSH PRIVILEGES;
EOF
配置MySQL允许远程访问
echo 配置MySQL允许远程访问...
sudo sed -i s/127.0.0.1/0.0.0.0/g /etc/mysql/mysql.conf.d/mysqld.cnf
sudo systemctl restart mysql
4、验证安装:
检查MySQL服务状态:
bash
sudo systemctl status mysql
远程连接测试:
bash
mysql -h your_server_ip -u $MYSQL_USER -p
安全建议:
1、修改默认密码:脚本中的 `MYSQL_ROOT_PASSWORD` 和 `MYSQL_USER_PASSWORD` 必须替换为强密码。
2、限制用户权限:根据需求调整 `GRANT ALL PRIVILEGES` 为更细粒度的权限(如 `SELECT, INSERT`)。
3、防火墙设置:确保仅允许信任的IP访问3306端口,例如:
bash
sudo ufw allow from your_ip to any port 3306