首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL主从复制实践

本文记录了一次配置MySQL主从复制的实践过程。

1.准备工作:

MySQL服务器两台:

主服务器(master):192.168.1.107

从服务器(slave):192.168.1.110

2.实现过程

(1).开启主数据库的二进制日志

在这遇到了很多坑,网上教程都说修改/etc/mysql/my.cnf文件,只要在其中添加“log-bin=mysql-bin”就可以了,亲测之后发现不好使,重启mysql服务的时候会报错。

经过尝试发现可以通过修改/etc/mysql/mysql.conf.d/mysqld.cnf文件:

第一次尝试将文件中“log_bin= /var/log/mysql/mysql-bin.log”一行的注释打开,重启之后进入mysql,通过“show variables like '%log_bin%';”命令检测,发现日志并没有打开。

第二次尝试将文件该行修改为“log_bin= mysql-bin”,重启mysql服务后检测,日志已经打开,见图:

(2).在主服务器中创建用于从服务器访问的账号"slave_user/123456"

“grant replication slave on *.* to 'slave_user'@'192.168.1.110' identified by '123456'”

创建完成后通过"select user,host from mysql.user;"查看是否创建成功,如下图:

(3).查看主服务器上二进制文件名与位置

“show master status;”

结果如下:

(4).告知从服务器二进制文件名与位置

在192.168.1.110服务器上执行:

“change master to

master_host='192.168.1.107',

master_user='slave_user',

master_password='123456',

master_log_file='mysql-bin.000001',

master_log_pos=154;”

(从服务器需要设置和主服务器不同的service-id)

(5).启动slave同步进程、

在192.168.1.110服务器上执行:

“start slave;”

至此主从复制就配置完成了。

3.测试

在192.168.1.110服务器上执行:“show slave status;”,当看到

Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了。

接下来在主服务器192.168.1.107上创建数据库“test”,在“test”中创建表“user”:

“create database test;”

“use test;”

“create table user(id bigint auto_increment,name varchar(20),primary key(id))”

在192.168.1.110服务器上执行:“show databases;”“show tables;”查看是否同步成功。

两台服务器的数据保持同步,所以主从复制配置成功。

4.其他配置

# 不同步哪些数据库

binlog-ignore-db = mysql

# 只同步哪些数据库,除此之外,其他不同步

binlog-do-db = game

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180317G1HC9K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券