2019-03-21 mysql主从数据库的配置及常见故障排除

【0】主从数据库操作的注意事项

1.从数据库只能做查询操作,禁止在从数据库上做 create、detele、update、insert等写入操作。

【1】前提条件

1.服务器mysql已经安装

192.168.106.174 mysql(主)

192.168.106.178 mysql(从)

【2】修改mysql(主)上的vim /etc/my.cnf文件,在[mysqld]下添加如下参数:

#每个server服务的标识,在master/slave环境中,此变量一定要不一样。

server-id=1

#此参数表示在事务提交时,处理重做日志的方式;此变量有三个可选值0,1,2:

#0:当事务提交时,并不将事务的重做日志写入日志文件,而是等待每秒刷新一次。

#1:当事务提交时,将重做日志缓存的内容同步写到磁盘日志文件,为了保证数据一致性,在replication环境中使用此值。

#2:当事务提交时,将重做日志缓存的内容异步写到磁盘日志文件(写到文件系统缓存中)。

innodb_flush_log_at_trx_commit=0

#1.控制master的是否开启binlog记录功能;

#2.二进制文件最好放在单独的目录下,这不但方便优化、更方便维护。

#3.重新命名二进制日志很简单,只需要修改[mysqld]里的log_bin选项。

log_bin=master-bin

#通过此来实现master自动删除binlog

expire_logs_days=14

【3】修改mysql(从)上的vim /etc/my.cnf文件,在[mysqld]下添加如下参数:

#每个server服务的标识,在master/slave环境中,此变量一定要不一样。

server-id=2

#此参数表示在事务提交时,处理重做日志的方式;此变量有三个可选值0,1,2:

#0:当事务提交时,并不将事务的重做日志写入日志文件,而是等待每秒刷新一次。

#1:当事务提交时,将重做日志缓存的内容同步写到磁盘日志文件,为了保证数据一致性,在replication环境中使用此值。

#2:当事务提交时,将重做日志缓存的内容异步写到磁盘日志文件(写到文件系统缓存中)。

innodb_flush_log_at_trx_commit=0

#1.控制master的是否开启binlog记录功能;

#2.二进制文件最好放在单独的目录下,这不但方便优化、更方便维护。

#3.重新命名二进制日志很简单,只需要修改[mysqld]里的log_bin选项,

log_bin=slaver-bin

#从库做为其他从库的主库时 log-slave-updates参数是必须要添加的,因为从库要作为其他从库的主库,必须添加该参数。从库开启log-bin参数,

#如果直接往从库写数据,是可以记录log-bin日志的,但是从库通过I0线程读取主库二进制日志文件,然后通过SQL线程写入的数据,是不会记录binlog日志的。

#也就是说从库从主库上复制的数据,是不写入从库的binlog日志的。所以从库做为其他从库的主库时需要在配置文件中添加log-slave-updates参数。

log-slave-updates

#主从复制时忽略的库,如果指定复制的库则使用replicate-do-db参数。

replicate_ignore_db=mysql

#通过此来实现master自动删除binlog

expire_logs_days=14

【4】

重启174 、178mysql数据库

【5】把174mysql(主)设置成主库,操作如下

使用Xshell或CRT软件连接174服务器,执行以下命令

#使用用户root和密码123456登陆mysql

mysql -uroot -p123456

#主服务器(174)上创建授权账户,允许从服务器(178)主机上连接

mysql> grant replication slave on*.*to'rep'@'192.168.106.178'identified by'123456';

#查看主库的当前binlog状态信息

mysql> show master status;

#退出mysql

mysql> quit;

【6】把178mysql(从)设置成主库,操作如下

使用Xshell或CRT软件连接178服务器,执行以下命令

#使用用户root和密码123456登陆mysql

mysql –uroot -p123456

--mysql -h 192.168.106.178 -uroot -p123456

#将主服务器(174)设为自己的主服务器,其中master_log_file和master_log_pos参数是根据show master status命令查出的主库当前binlog状态信息。

mysql> change master to master_host='192.168.106.174',master_user='rep',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=123;

#开启slave功能

mysql> start slave;

#查看从库的状态信息

mysql> show slave status\G

#退出mysql

mysql> quit;

【7】主从mysql的测试

1.在mysql(主)上创建测试库和测试表

#使用用户root和密码123456登陆mysql

mysql –uroot -p123456

#创建test_db1数据库

mysql> create database test_db1;

#选择test_db1数据库

mysql> use test_db1;

#在test_db1库下创建tab1表

mysql> create table test_table1(id int,name varchar(30));

#在tab1表中插入数据

mysql> insert into test_db1.test_table1(id,name) values(1,'zhangsan');

#提交

mysql> commit;

2.在mysql(从)上进行验证

#使用用户root和密码123456登陆mysql

mysql -uroot -p123456

#查询tab1表中的数据

mysql> select * from test_db1.test_table1

【8】常见故障排除

1.mysql(从)数据不同步,且Slave_SQL_Running: NO。

#使用用户root和密码123456登陆mysql

mysql -uroot -p123456

#查看从库的状态信息,主要关注Slave_IO_Running,Slave_SQL_Running,Last_SQL_Error等信息。

mysql> show slave status\G;

#停止slave

mysql> stop slave;

#设置跳过slave上sql的数量

mysql> set global sql_slave_skip_counter =1;

#启动slave

mysql> start slave;

#查看从库的状态信息,主要关注Slave_IO_Running参数是YES,Slave_SQL_Running参数是YES,Last_SQL_Error参数没有错误信息,则说明主从同步正常。

mysql> show slave status\G;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容