MySql数据库主从同步配置
2015-08-10 20:22
706 查看
一,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 如果没有这个文件,则手动创建一个,添加如下:
重启mysql : service mysql restart
四,修改从数据库配置文件
<span style="font-size:18px;">[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</span>
保存退出,并重启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,,配置连接主数据库:
注:MASTER_LOG_FILE和MASTER_LOG_POS这两个的值可以在主数据库执行show
master status查看到。
3,接着执行:start slave;
4,再执行:
数据库安装方式:http://www.youxijishu.com/blogs/26.html
二,主库IP:192.168.0.201
从库IP:192.168.0.202
三,修改主库的配置my.cnf文件
linux上里入/etc文件夹,vi my.cnf 如果没有这个文件,则手动创建一个,添加如下:
[mysql]
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
四,修改从数据库配置文件
<span style="font-size:18px;">[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</span>
保存退出,并重启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查看到。
3,接着执行:start slave;
4,再执行:
SHOW slave STATUS \G
可以看到Slave_IO_Running: Yes Slave_SQL_Running: Yes(尽量在mysql的图形管理界面查看)
接下来你可以在主数据库上创建数据库、表、插入数据,然后看从数据库是否同步了这些操作!
如有不明白地方可以访问:http://www.youxijishu.com或加入QQ群:66728073
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复