又叫做主从复制,是通过二进制日志文件完成的,注意:mysql 数据库的版本,两个数据库版本要相同 系统环境: 主服务器master IP: 192.168.0.88 从服务器slave IP: 192.168.0.99 单向同步 注意要点 1、只需要把需要同步的数据库备份传到从数据库上,其它任何东西都不需要 2、在从库上还原数据库时,一定先要建了同名数据库,否则还原会提示错误 3、在制定更新点时,一定要在同步进程还没启动前操作 主服务器上配置 对my.cnf进行修改需要重启动数据库设置才会生效,如果不想对指定数据库同步进行限制,直接跳过这步 [root@kt /]# service 在Linux环境下,MySQL数据库的单向同步,也称为主从复制,是一种常用的数据备份和高可用性策略。这种配置使得主服务器(Master)上的数据更改能够实时地被复制到从服务器(Slave)。以下是一个详细的步骤指南,以确保主从同步的正确配置。 确保两台服务器上的MySQL数据库版本相同,因为不同版本之间的二进制日志格式可能不兼容。在本示例中,主服务器IP为192.168.0.88,从服务器IP为192.168.0.99。 **主服务器配置步骤:** 1. **修改my.cnf配置文件:** 添加`binlog-do-db`和`binlog-ignore-db`字段来指定需要和不需要同步的数据库。例如,如果只想同步名为`kangte`的数据库,而不同步`mysql`数据库,可以在`[mysqld]`部分添加如下内容: ``` binlog-do-db=kangte binlog-ignore-db=mysql ``` 修改后需重启MySQL服务使设置生效。 2. **创建同步用户:** ``` mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT, RELOAD, SUPER ON *.* TO 'kt'@'192.168.0.99' IDENTIFIED BY '123456'; mysql> FLUSH PRIVILEGES; ``` 这会创建一个名为`kt`的用户,允许其从192.168.0.99访问并进行复制。 3. **获取主服务器的二进制日志信息:** ``` mysql> SHOW MASTER STATUS; ``` 记录`File`(二进制日志文件名)和`Position`(日志位置),这是从服务器开始同步的起点。 4. **备份需要同步的数据库:** ``` mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS; ``` 然后使用`mysqldump`命令创建数据库的逻辑备份,例如: ``` mysqldump -u root -p kangte > kangte.sql ``` 之后解锁表: ``` mysql> UNLOCK TABLES; ``` 5. **将备份文件传输到从服务器:** 使用SCP命令将备份文件`kangte.sql`传输到从服务器。 **从服务器配置步骤:** 1. **修改my.cnf配置文件:** 在`[mysqld]`部分添加`server-id`,并指定`master-host`、`master-user`、`master-password`、`master-port`等字段,例如: ``` server-id = 2 master-host = 192.168.0.88 master-user = kt master-password = 123456 master-port = 3306 master-connect-retry = 60 replicate-do-db = kangte replicate-ignore-db = mysql ``` 之后重启MySQL服务。 2. **在从服务器上创建数据库:** 如果已有同名数据库,应先删除。然后创建与主服务器相同的数据库,例如: ``` mysql> CREATE DATABASE kangte; ``` 3. **恢复数据库:** 使用`mysql`命令导入备份文件到新创建的数据库: ``` mysql -u root -p kangte < kangte.sql ``` 4. **启动从服务器并设置同步起点:** 在确保同步进程未启动的情况下,使用以下命令设置同步起点: ``` mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.88', MASTER_USER='kt', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000006', MASTER_LOG_POS=656; ``` 这里的`MASTER_LOG_FILE`和`MASTER_LOG_POS`应替换为主服务器上的实际日志文件名和位置。 5. **启动从服务器的复制进程:** ``` mysql> START SLAVE; ``` 从现在开始,从服务器将开始接收主服务器的更改并进行同步。 通过以上步骤,你就成功配置了MySQL在Linux下的单向同步。主从复制可以有效提高数据安全性,防止单一故障点,并提供数据备份的手段。然而,务必注意,主从复制并不提供数据一致性保证,如果需要强一致性,需要考虑其他更复杂的解决方案,如多主复制或多节点集群。
- 粉丝: 4
- 资源: 932
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助