我将为您详细讲解“MySQL 数据库两台主机同步实战(linux)”的完整攻略,过程中将包含两条示例说明。以下是步骤:
准备工作
- 在两台需要同步的主机上安装 MySQL 数据库;
- 确保两台主机之间已经能够通过网络互相访问;
- 设置主机 A 和主机 B 的 MySQL 数据库的参数,使得两台主机的 MySQL 数据库版本、字符集、大小端模式等参数相同。
步骤一:配置主服务器
-
修改主服务器 MySQL 配置文件中的参数:
shell
server-id=1
binlog-do-db=your_database_name
log-bin=mysql-bin
修改后,MySQL 服务需要重新启动。 -
确定需要同步的数据库名称和表名称。
步骤二:配置从服务器
-
修改从服务器 MySQL 配置文件中的参数:
shell
server-id=2
修改后,MySQL 服务需要重新启动。 -
在从服务器上创建一个用来同步的用户及其权限:
mysql
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'your_user'@'%';
FLUSH PRIVILEGES; -
修改从服务器的配置,启动同步工作:
mysql
CHANGE MASTER TO MASTER_HOST='192.168.1.10',MASTER_USER='your_user', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=500;
START SLAVE;
SHOW SLAVE STATUS\G
步骤三:测试同步
在主服务器上插入一条记录,查询从服务器上是否同步成功:
INSERT INTO your_database_name.your_table_name(your_column) VALUES('test');
SELECT * FROM your_database_name.your_table_name;
示例1:同步数据库表结构
如果已经同步了一段时间的数据库表,有时候可能会需要同步表结构。可以在主服务器上执行以下命令:
CREATE TABLE your_table_name(
your_column1 int(11) NOT NULL AUTO_INCREMENT,
your_column2 varchar(255) NOT NULL,
PRIMARY KEY (your_column1)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
在从服务器上查询该表,查看是否能够同步成功。
示例2:同步更新语句
在主服务器上执行以下代码:
UPDATE your_table_name SET your_column2='new value' WHERE your_column1=1;
在从服务器上查询该表,查看是否能够同步成功。
这样,就完成了 MySQL 数据库两台主机同步实战(linux)的攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL 数据库两台主机同步实战(linux) - Python技术站