MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
来源:互联网 发布:cnc加工中心编程代码 编辑:程序博客网 时间:2024/04/27 20:15
安装环境
- 1
- 2
- 3
- 4
这里强调的数据库的版本,是因为MySQL在5.6之前和之后的安装方式是不一样的。
本人在进行配置的时候,也遇到了这个坑,这里提前说明,希望大家不要采坑。
基本环境配置
首先,要保证防火墙对3306端口的开启,如果只是为了学习数据库的主从配置,可以使用service iptables stop
命令直接关闭防火墙。
然后可以在两台机子之间进行 ping操作,确保两台机器之间能够相同。
Master的配置
在Linux环境下MySQL的配置文件的位置是在 /etc/my.cnf
,在该文件下指定Master的配置如下:
- 1
- 2
- 3
- 4
- 5
- 6
这里的server-id用于标识唯一的数据库,这里设置为2,在设置从库的时候就需要设置为其他值。
binlog-ignore-db:表示同步的时候ignore的数据库
binlog-do-db:指定需要同步的数据库
完整配置截图如下:
1、然后重启mysql:service mysqld restart
2、进入mysql:[root@VM_221_4_centos ~]# mysql -u root -p
回车,输入mysql密码进入。
3、 赋予从库权限帐号,允许用户在主库上读取日志,赋予192.168.1.2也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。
在Master数据库命令行中输入:
- 1
- 2
- 3
- 4
这里使用的仍是 root 用户作为同步的时候使用到的用户,可以自己设定。
4、重启mysql,登录mysql,显示主库信息
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
这里的 File 、Position 是在配置Salve的时候要使用到的,Binlog_Do_DB表示要同步的数据库,Binlog_Ignore_DB 表示Ignore的数据库,这些都是在配置的时候进行指定的。
另外:如果执行这个步骤始终为Empty set(0.00 sec)
,那说明前面的my.cnf没配置对。
Slave的配置
1、从库的配置,首先也是修改配置文件:/etc/my.cnf 如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
2、这里可以看到,在MySQL5.6之后的版本中没有指定:
- 1
- 2
- 3
3、这也是在网上很多搜索的配置过程,他们也都指定了数据库的版本,但是并没有说出来新版本的配置这种方式是不适用的。
4、如果,你在MySQL5.6和之后的版本中配置从库的时候,设置到了上边的内容,即指定了master-host、master-user等信息的话,重启MySQL的时候就回报错,错误信息如下:
- 1
- 2
- 3
- 4
此时,查看数据库的报错信息(数据库的目录, /data/mysqldb/VM_128_194_centos.err ),可以看到:
- 1
- 2
- 3
- 4
- 5
可以看出master-host
被检测数是一个未知的变量,因此会出现错误。
5、在5.6以及后续版本的配置如下:
修改完/etc/my.cnf 文件之后,重启一下MySQL(service mysqld restart)
进入Slave mysql控制台,执行:
- 1
- 2
- 3
- 4
- 5
在这里指定Master的信息,master_log_file是在配置Master的时候的File选项, master_log_pos是在配置Master的Position 选项,这里要进行对应。
然后可以通过mysql> show slave status;
查看配置的信息:
- 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
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
可以看到,已经配置成功。
添加需要同步的从库Slave
由于种种原因,测试的时候使用test库,这里我按照上述的方式,修改Master的my.cnf的配置文件,新增同步的数据库test,重启MySQL,执行Master的:show master status
如下:
相应的,要修改Slave从库的信息在my.cnf 增加 replicate-do-db=test
,重启Mysql,根据上述的show master status,在Slave从库中执行下边的内容:
- 1
- 2
- 3
- 4
然后使用:show slave status;
- 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
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
已经新增加了test。
真正的测试
在主库中新增数据库表,user,观察从库变化如下:
创建数据库的时候:
新增数据的时候:
删除Master数据库表的时候:
配置过程,到此为止,希望能够帮助大家,如有疑问 欢迎留言。
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- MySQL5.6 (5.7)数据库主从(Master/Slave)同步安装与配置详解
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- MYSQL5.6.33数据库主从(Master/Slave)同步安装与配置详解 (Master-Linux Slave-windows7)
- MySQL5.5数据库主从(Master/Slave)同步配置详解
- MySQL数据库主从(Master/Slave)同步安装与配置
- MySql 5.7.18 数据库主从(Master/Slave)同步安装与配置详解
- MySQL5.6 数据库主从(Master/Slave)
- MySQL数据库主从(Master/Slave)同步安装与配置总结
- Ubuntu下MySQL5.5 配置主从(Master Slave)同步
- CentOS7+mysql5.6 Master-Slave主从数据库设置
- Mysql5.6 Master Slave 配置
- mysql5 master slave安装配置日志
- 硅晶圆短缺:12寸硅晶圆产能虽被包下,但交货困难!
- http缓存机制及原理
- C#词法分析器之输入缓冲和代码定位的应用分析(二)
- Activity工作流流转条件报错Transaction rolled back because it has been marked as rollback-only
- ROS学习笔记:tf的学习和使用(二)
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- gradient
- 半年全球网络安全入侵事件近千起,超19亿数据受影响
- jenkins将svn用户名和邮件地址映射的方法
- Spring/Boot/Cloud系列知识(4)——代理模式(下)
- eclipse查看一个方法被谁引用(调用)的快捷键四种方式
- 【资源共享】《Rockchip 量产烧录 指南 V1.0》
- Kmeans++算法C++代码
- 第四周项目1—建立单链表