centos下mysql主从同步快速设置步骤分享


在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主从同步的基本步骤。请注意,根据你的具体需求和环境,可能还需要进行其他配置和调整。