MySql数据库主从同步配置(参考)

来源:互联网 发布:php招聘 编辑:程序博客网 时间:2024/04/30 11:32

一,Mysql版本:MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar    主从库要求版本一致,不一致的话谁也不知道会出现什么问题。

数据库安装方式:http://www.youxijishu.com/blogs/26.html

二,主库IP:192.168.0.201

从库IP:192.168.0.202

三,修改主库的配置my.cnf文件

linux上里入/etc文件夹,vi my.cnf  如果没有这个文件,则手动创建一个,添加如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server_id = 10001  #数据库的唯一id
log-bin =mysqlmaster-bin.log
sync_binlog=1
innodb_flush_log_at_trx_commit=1
 
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO
 
lower_case_table_names=1
 
log_bin_trust_function_creators=1
#relay-log=relay-bin
#relay-log-index = relay-bin-index
binlog-do-db=test1    #需要同步的数据库记录到日志中
binlog-do-db=test2
replicate-do-db=test1  #同步数据库
replicate-do-db=test2
 
binlog-ignore-db=mysql #不对mysql库进行日志记录操作 如下意思雷同 
binlog-ignore-db=test
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
 
replicate-ignore-db=test #不对test进行复制操作 如下意思雷同  
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

重启mysql : service mysql restart


四,修改从数据库配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
[mysqld]
 
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
 
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
 
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
server_id = 10002
log-bin=mysqlslave-bin.log
sync_binlog=1
 
innodb_flush_log_at_trx_commit=1
 
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO
 
lower_case_table_names=1
 
log_bin_trust_function_creators=1
 
binlog-do-db=test1
binlog-do-db=test2
replicate-do-db=test1
replicate-do-db=test2
 
binlog-ignore-db=mysql #不对mysql库进行日志记录操作 如下意思雷同
binlog-ignore-db=test
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
 
replicate-ignore-db=test #不对test进行复制操作 如下意思雷同
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

保存退出,并重启mysql


五,在主数据库创建一个来用执行主从复制的用户账号

     1,进入主数据库: mysql -uroot -p123456

     2, 创建用用:create user 'slaveroot2'@'192.168.0.202' identified by '123456'; //这里的192.168.0.202是从数据库的主机IP,创建的用户名是slaveroot2,密码是123456

     3,给账号加权限:grant replication slave on *.* to 'slaveroot2'@'192.168.0.202' identified by '123456';

     4,使账号生效:flush privileges;

六,启动主从同步

     1,进入从数据库:mysql -uroot -p123456

     2,,配置连接主数据库:CHANGE MASTER TO MASTER_HOST='192.168.0.201',MASTER_USER='slaveroot2',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysqlmaster-bin.000001',MASTER_LOG_POS=332;

注:MASTER_LOG_FILE和MASTER_LOG_POS这两个的值可以在主数据库执行show master status查看到。

QQ截图20150810201343.png

 3,接着执行:start slave;

 4,再执行:SHOW slave STATUS \G

      可以看到Slave_IO_Running: YesSlave_SQL_Running: Yes(尽量在mysql的图形管理界面查看)

  QQ截图20150810201845.png

接下来你可以在主数据库上创建数据库、表、插入数据,然后看从数据库是否同步了这些操作! 如果转载,请注明来自游戏技术网:http://www.youxijishu.com/blogs/74.html
0 0
原创粉丝点击