#!/bin/bash echo "=== 修复 MySQL 监听配置 ===" # 1. 备份配置文件 sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.backup.$(date +%Y%m%d_%H%M%S) echo "✅ 已备份配置文件" # 2. 修改 bind-address sudo sed -i 's/^bind-address.*127.0.0.1/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf echo "✅ 已修改 bind-address" # 3. 显示修改后的配置 echo "" echo "修改后的配置:" sudo grep "bind-address" /etc/mysql/mysql.conf.d/mysqld.cnf echo "" # 4. 重启 MySQL echo "正在重启 MySQL..." sudo systemctl restart mysql sleep 2 # 5. 验证 echo "" echo "验证 MySQL 监听状态:" sudo netstat -tlnp | grep 3306 echo "" # 6. 测试连接 DOCKER0_IP=$(ip addr show docker0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}') echo "测试从本机连接 MySQL (IP: $DOCKER0_IP):" mysql -h $DOCKER0_IP -u railway -p'Railway01.' -e "SELECT 'Connection OK' as status, DATABASE() as current_db, VERSION() as version;" 2>&1 echo "" echo "=== 修复完成 ==="