在CentOS系统下设置MySQL主从同步,通常涉及配置MySQL服务器的`my.cnf`(或`my.ini`,取决于MySQL版本和安装方式)文件,并设置相应的用户权限。以下是一个简化的步骤指南,帮助你快速设置MySQL的主从复制:
### 1. 确保两台MySQL服务器都已安装
首先,确保你有两台CentOS服务器,上面都安装了MySQL。你可以通过`yum install mysql-server`(对于较新的版本,可能需要使用`mariadb-server`)来安装MySQL。
### 2. 配置主服务器(Master)
编辑主服务器的`my.cnf`文件(通常位于`/etc/my.cnf`或`/etc/mysql/my.cnf`),添加或确认以下配置:
[mysqld]
server-id = 1
log-bin = mysql-bin
binlog_do_db = your_database_name # 如果需要复制特定的数据库,取消注释并修改
# skip-slave-start # 如果不需要自动启动从服务器线程,可以取消注释
重启MySQL服务使配置生效:`systemctl restart mysqld`。
### 3. 创建复制专用账户
在主服务器上,登录MySQL,并创建一个用于复制的用户:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;
注意:出于安全考虑,不要在生产环境中使用`'%'`作为主机名,而应该限制为具体的从服务器IP地址。
### 4. 记录主服务器的状态
在主服务器上执行以下SQL命令,记录二进制日志文件名和位置:
SHOW MASTER STATUS;
记下`File`和`Position`的值,稍后配置从服务器时需要用到。
### 5. 配置从服务器(Slave)
编辑从服务器的`my.cnf`文件,添加或确认以下配置:
[mysqld]
server-id = 2
relay-log = mysqld-relay-bin
read-only = 1 # 可选,使从服务器为只读
重启MySQL服务。
### 6. 配置从服务器以连接到主服务器
在从服务器上,登录MySQL,并执行以下命令来配置复制过程:
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='recorded_log_file_name',
MASTER_LOG_POS=recorded_log_position;
START SLAVE;
将`master_ip`、`recorded_log_file_name`和`recorded_log_position`替换为你从主服务器获取的实际值。
### 7. 验证从服务器状态
在从服务器上,执行`SHOW SLAVE STATUS\G`来查看复制状态。如果`Slave_IO_Running`和`Slave_SQL_Running`都是`Yes`,则表示主从复制已成功设置并正在运行。
以上就是在CentOS下设置MySQL主从同步的基本步骤。请注意,根据你的具体需求和环境,可能还需要进行其他配置和调整。