MySQL5.6X 主从配置
来源:互联网 发布:金太阳手机炒股软件 编辑:程序博客网 时间:2024/05/29 04:54
- 注意
- 本文档只适用于mysql5.6+版本的主从配置。
- 需要有两台不同的服务器、且已经安装好MySQL,版本最好一致(我这里使用两台虚拟机测试)。这里不讲述mysql的安装
- 请先对基本的mysql知识有一定了解。
1、Master 配置
注意:先备份好主库,然后在手动执行sql脚本,将数据库同步到slave机器。
编辑mysql配置文件
- /etc/my.cnf - 命令:vi /etc/my.cnf - 在my.cnf中加入如下配置: - `#master setting log-bin=mysql-bin server-id=1 binlog-ignore-db=information_schema binlog-ignore-db=mysql binlog-do-db=test`其中:server-id : 为数据唯一标识,slave配置的时候,请注意不能相同 binlog-ignore-db: 不操作的数据库 binlog-do-db 表示需要同步的数据库,我这里使用test库测试 保存并退出编辑。 -
重启数据库
- 命令:service mysqld restart; - 创建同步账号,这个账号是给slave库用来做同步的,所以记得是在master数据库中创建账号 - 登录数据库:mysql -uroot -p ,回车后输入密码登录 - 创建账号: - CREATE USER 'test'@'%' IDENTIFIED BY '123456'; //%是所有host 都能访问,这里可以指定固定IP -
给账号授权
`grant replication slave on *.* to 'test'@'192.168.1.4' identified by '123456';` - 刷新权限 ` flush privileges; ` - 查看用户是否添加成功。
mysql> select host,user,password from mysql.user;+-----------------------+------+-------------------------------------------+| host | user | password |+-----------------------+------+-------------------------------------------+| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 || localhost.localdomain | root | || 127.0.0.1 | root | || ::1 | root | || localhost | | || localhost.localdomain | | || % | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 || % | test | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 || 192.168.1.4 | test | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 || localhost | test | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |+-----------------------+------+-------------------------------------------+
看到有test用户了。
- -
查看master相关信息
。
- 在mysql后入输入语句:show master status; 如图:
-
注意,配置slave时候需要对应这些信息。
至此,master配置完成。
-
2、salve配置
- 在slave 机器上mysql my.cnf配置文件中加入如下配置: #slave setting log-bin=mysql-bin server-id=2 binlog-ignore-db=information_schema binlog-ignore-db=mysql replicate-do-db=test replicate-ignore-db=mysql log-slave-updates slave-skip-errors=all slave-net-timeout=60
`
注意,server-id 和master要不相同。
配置完成、保存文件并重启数据库,service mysqld restart .
3、指定master信息
在前面的描述中,我们发现没有指定具体的master/slave机器地址,所以mysql5.6版本后和之前的版本不一样,不会像旧版本,在配置my.cnf文件中加入:master-user、等相关信息配置。登陆salve机器mysql后台,执行sql:
change master to master_host='192.168.1.3',master_user='test',master_password='123456',master_log_file='mysql-bin.000003', master_log_pos=120;
注意SQL中:
master_host: master 地址
master_user: mysql 操作的用户账号
master_password:密码
master_log_file:对应master 文件名称
master_log_pos:对应master 中Position信息
在master 机器mysql中,输入SQL 脚本,show master status。
4、验证 主从配置是否成功。
进入 slave mysql后台中,输入: show slave status\G;能看到相关信息入下: mysql> show slave status\G
***************** 1. row *****************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.3
Master_User: test
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 1583
Relay_Log_File: localhost-relay-bin.000003
Relay_Log_Pos: 1746
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test
Replicate_Ignore_DB: mysql
注意这两个属性:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
都为yes说明正常。否则需要排查问题,我这里,
Slave_IO_Running: No
我查看异常日志发现:
[ERROR] Slave I/O: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work. Error_code: 1593
两台机器的UUID相同,这是因为我两台虚机机器是直接克隆的。
解决方式:
在slave中,将 没sql /usr/local/mysql/data 目录下的aotu.cnf文件重命名,然后重启mysql即可。
注意:通过查看mysql进程,可以看到错误日子文件地址:
命令:ps-ef|grep mysql
会看到有这句,我们通过错误可以排查相关问题。
--log-error=/usr/local/mysql/data/localhost.localdomain.err
同步测试
我们通过客户端连接两台服务器,在master test库中创建一张表,然后在slave机器中,刷新test数据库,如果有能看到刚刚在master中创建的表,说明一切顺利!
ok,配置到此结束。
- MySQL5.6X 主从配置
- mysql5.6主从配置
- mysql5.6配置主从数据库
- Mysql5.6主从热备配置
- win7下MYSQL5.6主从配置
- MySQL5.6 Replication主从配置教程
- centos 7 mysql5.6 主从配置
- Mysql5.6主从热备配置
- mysql5.6主从配置和数据库安装
- mysql5.6 主从复制的配置
- Centos7 + mysql5.6主从配置搭建
- Mysql5主从同步配置
- mysql5.5主从配置
- mysql5.5主从配置
- MySQL5.5主从配置
- mysql5.7.17主从配置
- MySQL5.7主从配置
- mysql5.7 主从配置
- PAT 乙级 1009
- 学会思考,而不只是编程
- Lintcode 二叉树的锯齿形层次遍历
- 寻找旋转排序数组中的最小值
- 使用mysqlreplicate命令快速搭建 Mysql 主从复制
- MySQL5.6X 主从配置
- [bzoj4503]&[caioj1455][FFT]串
- Codeforces Round #428 (Div. 2) E
- iOS之《Effective Objective-C 2.0》读书笔记(8)
- Django+Karlooper+ios重构学校的学生成绩管理系统(二)学生信息管理系统
- 树莓派如何挂载硬盘/U盘
- 'module' object has no attribute 'OP_NO_TLSv1_1'问题解决
- 总结unicode和utf-8的区别
- Android SurfaceView 播放视频