您的位置:首页 > 数据库 > MySQL

mysql主从

2016-08-04 15:01 204 查看
主mysql

更改主mysql配置文件:vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
log_bin=dbsvr1-bin \\启用日志,指定日志前缀
server_id=1 \\指定服务器id
innodb_flush_log_at_trx_commit=1 \\事务提交或事物外的指令需要把日志写入硬盘
sync-binlog=1 \\允许日志同步
保存重启服务

mysql>grant replication slave on *.* to 'web'@'192.168.1.11' identified by '123456';
mysql> show master status \G
*************************** 1. row ***************************
File: dbsvr1-bin.000001 \\当前的日志文件名
Position: 750 \\偏移的位置
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec
从mysql

更改从mysql配置文件:vim /etc/my.cnf
[mysqld]
log_bin=dbsvr2-bin \\启用日志,指定日志前缀
server_id=2 \\指定服务器id,不能与主mysql的id相同
innodb_flush_log_at_trx_commit=1 \\事务提交或事务外的指令需要把日志写入硬盘
sync-binlog=1 \\允许日志同步
log_slave_updates=1 \\记录从库的更新便于实现主从从链式复制
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
read_only=1 \\从数据库启用只读
保存配置文件重启服务
通过change master to 指定服务器的ip 用户名 密码 log日志和偏移量。
mysql> change master to master_host='192.168.1.10', master_user='web', master_password='123456', master_log_file='dbsvr1-bin.000001', master_log_pos=750;
mysql> start slave;
启用slave复制,当需要修改master信息时,应先执行stop slave停止,在修改,修改完成后,启动复制start slave。
检查slave服务器的同步状态
mysql>show slave status \G
Slave_IO_Running: Yes \\io线程应该已运行
Slave_SQL_Running \\sql线程应该已运行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 同步 主动