步骤一:创建新的 MySQL 实例 my666
1. 创建数据目录和日志文件
假设mysql安装目录为/usr/local/mysql/。首先,为新的实例创建数据目录和日志文件:
sudo mkdir -p /usr/local/mysql/data666 #实例my666的数据目录
sudo mkdir -p /var/run/mysqld #所有实例放pid的目录
sudo touch /var/log/mysql666.error.log #放my666实例的错误日志
sudo touch /var/run/mysqld/mysql666.pid #放my666实例的pid文件
sudo chown -R mysql:mysql /usr/local/mysql/data666
sudo chown mysql:mysql /var/log/mysql666.error.log
sudo chown mysql:mysql /var/run/mysqld/mysql666.pid
sudo chown mysql:mysql /var/run/mysqld
sudo chmod 750 /usr/local/mysql/data666
sudo chmod 644 /var/log/mysql666.error.log
sudo chmod 644 /var/run/mysqld/mysql666.pid
sudo chmod 755 /var/run/mysqld
2. 创建新的配置文件 /etc/my666.cnf
sudo nano /etc/my666.cnf #实例my666的配置文件
将以下内容写入文件:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data666
socket=/var/lib/mysql/mysql666.sock
port=3366
log-error=/var/log/mysql666.error.log
pid-file=/var/run/mysqld/mysql666.pid
bind-address=0.0.0.0
server_id=666
3. 初始化数据目录
使用 mysqld
初始化数据目录,并且拿到root密码:
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data666 --basedir=/usr/local/mysql
4. 启动 MySQL 实例
使用新的配置文件启动 MySQL 实例:
sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my666.cnf &
步骤二:设置远程访问权限
1. 登录到新的 MySQL 实例
首先,重新开一个会话,然后登录到新的 MySQL 实例,记得root密码刚才拿到的:
mysql -u root -p --socket=/var/lib/mysql/mysql666.sock
2. 创建远程用户并授予权限
在 MySQL 提示符下执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
CREATE USER 'remote_user666'@'%' IDENTIFIED BY 'password666';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user666'@'%';
FLUSH PRIVILEGES;
步骤三:配置防火墙和 SELinux(可选操作)
1. 配置防火墙
确保防火墙允许 3366 端口的连接:
sudo firewall-cmd --permanent --add-port=3366/tcp
sudo firewall-cmd --reload
2. 配置 SELinu
临时禁用 SELinux 以进行测试:
sudo setenforce 0
如果连接成功,请配置 SELinux 以允许 MySQL 连接:
sudo setsebool -P mysql_connect_any 1
步骤四:远程连接测试
从远程机器上测试连接:
systemctl start mysql
systemctl status mysql
mysql -u remote_user666 -p -h <server_ip> -P 3366
确认 MySQL 正在监听端口 3366
使用以下命令检查 MySQL 是否在监听端口 3366:
sudo netstat -tulnp | grep mysqld
检查日志文件
如果遇到问题,检查 MySQL 错误日志以获取更多信息:
sudo tail -f /var/log/mysql666.error.log
总结
通过上述步骤,应该能够成功创建并配置新的 MySQL 实例 my666
,并为其设置远程访问权限。如果在执行过程中遇到任何问题,请提供详细的错误信息以便进一步诊断。