千家信息网

如何进行mysql数据库主从同步中数据库同步配置

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章给大家介绍如何进行mysql数据库主从同步中数据库同步配置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。背景: 最近有一个mysql数据库同步的需求,我用了mysql主从
千家信息网最后更新 2025年11月10日如何进行mysql数据库主从同步中数据库同步配置

这篇文章给大家介绍如何进行mysql数据库主从同步中数据库同步配置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

背景: 最近有一个mysql数据库同步的需求,我用了mysql主从同步的方法来实现。下面把步骤记录一下。

环境和拓扑

操作系统:Centos6.6 X64

mysql版本:5.1.73

Master: 10.6.1.210

Slave: 10.6.1.211

需求: 实现Master上test库同步到Slave上,但是禁止同步该库下的AA表

1.配置Master上的my.cnf

#vim /etc/my.cnf 添加内容到[mysqld]下,设定只同步test 数据库:

[mysqld]

log-bin=mysql-bin

binlog_format=mixed

binlog_do_db=test

server-id=1

2.配置Slave上的my.cnf

#vim /etc/my.cnf

添加内容到[mysqld]下:

log-bin=mysql-bin

binlog_format=mixed

server-id=10

relay-log =relay-bin

log_slave_updates=1

replicate_ignore_table=AA(忽略同步某个表)

3.在Master中建立一个备份帐户:每个slave使用标准的MySQL用户名和密码连接Master,用户名的密码都会存储在文本文件master.info。进行复制操作的用户会授予REPLICATION SLAVE 权限。

命令如下:

#建立一个帐户repluser,并且只能允许10.6.1.211这个主机来登陆,密码是123456。

mysql>grant replication client,replication slave on *.* to 'repluser'@'10.6.1.211' identified by '123456';

QueryOK,0 rows affected(0.00sec)

mysql>flush privileges;

QueryOK,0 rows affected(0.00sec)

4.拷贝数据,保持数据库内数据一致,新安装可以忽略此步骤。

备份Master上的test库,然后复制到从服务器上.

#mysqldump -u root -p password123 test>/tmp/test.sql

将导出的数据库复制到从服务器上。

#scp /tmp/test.sql root@10.6.1.211:/tmp/

在Slave上导入新的test数据库。 登陆从后运行

#mysql -u root -p password123 test

5.重启mysql服务,主从server均要重启。

#service mysql restart

6.查看Master数据库上的bin文件以及时间点. 登录Master服务器的mysql 后执行:

mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000015 | 2474 | test | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

此处,bin文件为mysql-bin.000015,节点为2474。

7.启动从服务器的中继日志,登陆从服务器的mysql 后执行以下命令,标红部分为刚才在主服务器上查询到的bin 文件以及节点信息:

mysql>change master to master_host='10.6.1.210',master_user='repluser',

master_password='123456',master_log_file='mysql-bin.000015',master_log_pos=2474,

master_connect_retry=5

QueryOK,0 rows affected(0.03sec)

#开启从服务器节点的复制进程,实现主从复制;

mysql>start slave;

#查看从服务器状态,主要关注IO线程和SQL 线程的开启状况:

mysql>show slave status \G


Slave_IO_Running:Yes #IO thread 是否运行

Slave_SQL_Running:Yes #SQL thread是否运行

8.查看主从服务器上的线程状态

主服务器:

mysql>show processlist \G

State: Has sent all binlog to slave; waiting for binlog to be updated

从服务器

mysql>show processlist \G

State: Has read all relay log; waiting for the slave I/O thread to update it

至此,mysql数据库主从同步复制配置完成.

验证

1. 在Master上的test库下新建一个test表. 插入记录,然后看看是否同步到了Slave上。

Master上建表

mysql> CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ;

Master上插入记录

mysql>insert into test(id,name) values(1,'steven');

mysql> select * from test;
+----+--------+
| id | name |
+----+--------+
| 1 | steven |
+----+--------+
1 row in set (0.00 sec)

Slave上查看是否同步过去.

mysql> select * from test;
+----+--------+
| id | name |
+----+--------+
| 1 | steven |
+----+--------+
1 row in set (0.00 sec)

2. 在Master上的test库下新建一个AA表. 插入记录,然后看看是否同步到了Slave上。

在Master上查询AA表.

mysql> select * from AA;
+----+--------+
| id | name |
+----+--------+
| 1 | Angelababy |
+----+--------+
1 row in set (0.00 sec)


Slave上查询AA记录是空.

mysql> select * from AA;
Empty set (0.00 sec)


关于如何进行mysql数据库主从同步中数据库同步配置就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

同步 数据 服务 数据库 服务器 主从 配置 内容 文件 密码 用户 线程 节点 查询 登陆 运行 命令 备份 帐户 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海市网络安全总队官网 移动网络安全最新指标 有什么好的网络安全软件 人力资源服务软件开发 软件开发公司需要多少人 柳州网络安全it培训待遇好 国家网络安全创新基地 上海御吉计算机软件开发有限公司 深圳市恒顺源网络技术有限公司 肇庆通讯软件开发报价表 怎么知道金蝶数据库名称 软件开发仲裁 网络安全古典密码实验总结及心得 仁王2改服务器 你认为网络安全如何体现 阿里云服务器url 软件开发大公司要本科 无线网拨号失败服务器无响应 数据库技术及应用字段属性的设置 软件开发企业的资质级别 ORACLE数据库技术员 网站服务器总是连接不上 服务器租用一般多少钱 移动网络安全最新指标 湖北电信dns服务器 湛江地产软件开发费用是多少 网络安全等级保护测评中标 数据库创建求一到一百的和 数据库时间戳 同步 网络技术适合女生学吗
0