mysql主从复制配置过程

吾爱主题 阅读:152 2024-04-01 23:49:47 评论:0

主库配置

1. 配置mysql

?
1 2 3 4 5 6 vim /etc/my .cn # 在文件中增加以下内容 server- id =1 # 保证server id唯一 log-bin = /var/lib/mysql/mysql-bin .log binlog- do -db = db1 binlog- do -db = db2

其中db1和db2是计划进行主从复制的库,如果有多个,写多行即可。配置完毕后,重启数据库: service mysqld restart

2. 添加复制用户

通过phpmyadmin,添加新用户,并授予REPLICATION SLAVE权限。或者通过root用户登录到mysql,赋予权限:

?
1 GRANT REPLICATION SLAVE ON *.* TO 'repl' @ '%' IDENTIFIED BY 'password'

其中repl是用户名,password是该用户的密码。

3. dump数据

如果能够保证不会产生新数据,就不需要对数据库加锁。如果不能保证,则需要对每一个dump数据的数据库加锁:

?
1 2 use db1; FLUSH TABLES WITH READ LOCK;

然后dump数据:

?
1 mysqldump -uroot -p db1 > db1.sql

如果有多个数据库,则重复上述过程多次。

4. 查看二进制文件位置

使用root身份登录mysql,查看master状态:

?
1 show master status;

该命令会有类似如下格式的输出:

?
1 2 3 4 5 6 + -----------------+-----------+----------------+------------------+ | File  | Position | Binlog_Do_DB | Binlog_Ignore_DB | + -----------------+-----------+----------------+------------------+ | mysql-bin.00002 | 445 | db1,db2 |   | + -----------------+-----------+----------------+------------------+ 1 row in set (0.00 sec)

5. 解锁

如果导出数居前对数据库加了读锁,则需要解除:

?
1 2 use db1; UNLOCK TABLES;

到此,主库配置完毕。特别需要记住 show master status 输出中的 file 和 position 的值。

从库配置

1. 新建数据库

首先在从库上建立相同名称的数据库。

2. 配置从数据库

?
1 2 3 4 5 6 vim /etc/my .cnf # 在my.cnf中增加以下内容: server- id = 2 # 保证id唯一 relay-log = /var/lib/mysql/mysql-relay-bin .log replicate-wild- do -table = db1.% replicate-wild- do -table = db2.%

如果同步多个数据库,replicate-wild-do-table需要写多行。配置好后,重启数据库。

3. 导入数据

将主服务器上dump出来的数据导入从服务器中:

?
1 mysql -uroot -p db1 < db1.sql

4. 配置主从同步

登录到mysql服务器,配置同步的主服务器信息:

?
1 2 3 4 5 > change master to master_host= 'xxx.xxx.xx.xx' , > master_user= 'repl' , > master_password= 'password' , > master_log_file= 'mysql-bin.00000x' , > master_log_pos=xxxx;

配置好后启动主从同步: start slave。然后通过命令查看状态:show slave status,如果成功的话slave_io_running和slave_sql_running两项应该都是yes.

测试

在主库上新增记录或者添加表等操作,几乎都能实时反映到从库上。

以上就是mysql主从复制配置过程的详细内容,更多关于mysql主从复制配置的资料请关注服务器之家其它相关文章!

原文链接:https://tlanyan.me/setup-master-slave-replication-in-mysql/

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容