mysql5.6搭建主从复制
使用MySQL 5.6,搭建主从复制。关于5.6的安装,可以参考《MySQL 5.6 rpm安装方法和碰见的问题》。
主库创建slave用户,设置复制权限,
mysql> create user 'slave'@'1.1.1.2' identified by 'root';
Query OK, 0 rows affected (0.00 sec)
- mysql> grant replication slave on *.* to 'slave'@'1.1.1.2' identified by 'root';
- Query OK, 0 rows affected (0.00 sec)
- 编辑my.cnf配置文件,设置主库server-id=1,定义需要复制的库为test,忽略mysql数据库
- [root@vm-kvm10000-app mysql]# vi /etc/my.cnf
- [mysqld]
- server-id=1
- log-bin=mysql-bin
- binlog_do_db=test
- binlog_ignore_db=mysql
- 重启主库MySQL服务,
- [root@vm-kvm10000-app mysql]# service mysql restart
- Shutting down MySQL.. SUCCESS!
- Starting MySQL. SUCCESS!
- 看一下主库状态,
- mysql> show master status;
- +------------------+----------+--------------+------------------+-------------------+
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
- +------------------+----------+--------------+------------------+-------------------+
- | mysql-bin.000002 | 120 | test | mysql | |
- +------------------+----------+--------------+------------------+-------------------+
- 1 row in set (0.00 sec)
- 或者
- mysql> show master status \G
- *************************** 1. row ***************************
- File: mysql-bin.000002
- Position: 120
- Binlog_Do_DB: test
- Binlog_Ignore_DB: mysql
- Executed_Gtid_Set:
- 1 row in set (0.00 sec)
- 从库,编辑my.cnf配置,设置server-id=2,区别于主库,
- [root@vm-kvm10001-app mysql]# vi /etc/my.cnf
- [mysqld]
- server-id=2
- 重启MySQL服务,
- [root@vm-kvm10001-app mysql]# service mysql restart
- Shutting down MySQL.. SUCCESS!
- Starting MySQL. SUCCESS!
- 设置主库信息,
- mysql> change master to master_host='1.1.1.1',master_user='slave',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=120,master_connect_retry=10;
- Query OK, 0 rows affected, 2 warnings (0.03 sec)
- 检索从库状态,
- mysql> show slave status \G;
- *************************** 1. row ***************************
- Slave_IO_State:
- Master_Host: 10.221.3.129
- Master_User: slave
- Master_Port: 3306
- Connect_Retry: 10
- Master_Log_File: mysql-bin.000001
- Read_Master_Log_Pos: 120
- Relay_Log_File: vm-kvm11853-app-relay-bin.000001
- Relay_Log_Pos: 4
- Relay_Master_Log_File: mysql-bin.000001
- Slave_IO_Running: No
- Slave_SQL_Running: No
- Replicate_Do_DB:
- Replicate_Ignore_DB:
- Replicate_Do_Table:
- Replicate_Ignore_Table:
- Replicate_Wild_Do_Table:
- Replicate_Wild_Ignore_Table:
- Last_Errno: 0
- Last_Error:
- Skip_Counter: 0
- Exec_Master_Log_Pos: 120
- Relay_Log_Space: 120
- Until_Condition: None
- Until_Log_File:
- Until_Log_Pos: 0
- Master_SSL_Allowed: No
- Master_SSL_CA_File:
- Master_SSL_CA_Path:
- Master_SSL_Cert:
- Master_SSL_Cipher:
- Master_SSL_Key:
- Seconds_Behind_Master: NULL
- Master_SSL_Verify_Server_Cert: No
- Last_IO_Errno: 0
- Last_IO_Error:
- Last_SQL_Errno: 0
- Last_SQL_Error:
- Replicate_Ignore_Server_Ids:
- Master_Server_Id: 0
- Master_UUID:
- Master_Info_File: /var/lib/mysql/master.info
- SQL_Delay: 0
- SQL_Remaining_Delay: NULL
- Slave_SQL_Running_State:
- Master_Retry_Count: 86400
- Master_Bind:
- Last_IO_Error_Timestamp:
- Last_SQL_Error_Timestamp:
- Master_SSL_Crl:
- Master_SSL_Crlpath:
- Retrieved_Gtid_Set:
- Executed_Gtid_Set:
- Auto_Position: 0
- 1 row in set (0.00 sec)
- 其中最重要的就是,这两个参数,要求YES,但此处为NO,
- Slave_IO_Running: No
- Slave_SQL_Running: No
- 检索错误日志,提示无法找见./performance_schema/cond_instances.frm文件,
- [root@vm-kvm10001-app mysql]# vm-kvm10001-app.err
- 2017-08-29 16:10:37 22933 [ERROR] /usr/sbin/mysqld: Can't find file: './performance_schema/cond_instances.frm' (errno: 13 - Permission denied)
- 看一下其目录,发现performance_schema文件夹,是root权限,mysql用户无法访问,因此需要修改一下其权限,
- [root@vm-kvm10001-app mysql]# ls -rlht
- total 109M
- ...
- drwx------ 2 root root 4.0K Aug 29 15:05 performance_schema
- ...
- [root@vm-kvm10001-app mysql]# chown -R mysql:mysql *
- [root@vm-kvm10001-app mysql]# ls -rlht
- total 109M
- ...
- drwx------ 2 mysql mysql 4.0K Aug 29 15:05 performance_schema
- ...
- 重启服务,
- [root@vm-kvm10001-app mysql]# service mysql restart
- Shutting down MySQL.... SUCCESS!
- Starting MySQL. SUCCESS!
- 再看从库状态,
- mysql> show slave status \G
- *************************** 1. row ***************************
- ...
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
- ...
- 主库导出数据,用于导入从库,首先需要设置读锁,避免数据不一致,
- mysql> flush tables with read lock;
- mysql> show master logs;
- +------------------+-----------+
- | Log_name | File_size |
- +------------------+-----------+
- | mysql-bin.000001 | 143 |
- | mysql-bin.000002 | 222 |
- | mysql-bin.000003 | 545 |
- +------------------+-----------+
- 3 rows in set (0.00 sec)
- 执行mysqldump将test库,导出test.sql文件,
- [root@vm-kvm10000-app mysql]# mysqldump -uroot -p -B test > test.sql
- 然后解锁表,
- mysql> unlock tables;
- 从库执行导入,
- [root@vm-kvm10001-app mysql]# mysql -uroot -p < test.sql
- 要确保从库,这两个值正确,
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
- 此时就完成了主从复制,向主库插入一条记录,
- mysql> INSERT INTO test
- -> (id, name)
- -> VALUES
- -> (1, "a");
- Query OK, 1 rows affected (0.00 sec)
- 从库中可以检索出来,
- mysql> select * from test;
- +-------+--------+
- | id | name |
- +-------+--------+
- | 1 | a |
- +-------+--------+
- 总结:
- 1. MySQL相关文件、文件夹需要的权限,可能会因为不正确,例如需要mysql权限,但却是root,导致数据库异常。
- 2. 主从复制,需要关注从库,这两个参数值,需要均为YES,出现NO,则可以检索错误日志,进一步定位。
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
mysql5.6搭建主从复制的更多相关文章
- Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程
准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14(我用的php 5.3.10安装版) MySQL版本:MySQL5.5.25 ...
- MySQL5.6 Replication主从复制(读写分离) 配置完整版
MySQL5.6 Replication主从复制(读写分离) 配置完整版 MySQL5.6主从复制(读写分离)教程 1.MySQL5.6开始主从复制有两种方式: 基于日志(binlog): 基于GTI ...
- Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
现在很多朋友想尝试win2008 r2来跑web服务器,跟win2003相比界面差别有点大,有些人可能不太习惯,不过以后是趋势啊,这里简单分享下,方便需要的朋友 准备篇 一.环境说明: 操作系统:Wi ...
- 一次使用innobackupex重新搭建主从复制报错解决方法及注意事项
[环境介绍] 系统环境:CentOS release 6.4 (Final) + Server version: 5.7.18-log MySQL Community Server (GPL) + i ...
- 【MySQL】CentOS下安装及搭建主从复制
CentOS下安装MySQL 1,wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 2,rpm -ivh m ...
- Redis-环境搭建、创建服务、搭建主从复制-Windows版本
一.搭建Redis环境 1.链接:http://pan.baidu.com/s/1boKAzzL 密码:sh2r 2.不赘述:执行redis-server.再执行redis-cli即可.redis环境 ...
- centos7搭建mysql-5.7.22主从复制
mysql7.7.22主从复制 本项目是根据真实环境搭建编写出文档,文档中的目录也是根据自己公司环境所创建.公司原来是一台服务器搭建的数据库(5.7.22),由于业务的扩展需要搭建一台从服务器,减轻主 ...
- mysql5.7使用gtid模式搭建主从复制架构
一.架构 两台mysql服务器做一主一从,172.28.18.69(主) 172.28.18.78(从) 二.分别编译安装mysql5.7 1.下载mysql5.7.26源码包 [root@serve ...
- mysql5.7基于gtid进行搭建主从复制过程
gtid_mode = onenforce-gtid-consistency = onskip_name_resolve # 去掉域名解析二进制日志必须开启,且格式为ROWserver-id必须配置成 ...
随机推荐
- matlab中的knn函数
knn 最邻近分类 Class = knnclassify(test_data,train_data,train_label, k, distance, rule) k:选择最邻近的数量 distan ...
- iframe加载方案及性能
普通方法加载iframe 在onload之后加载iframe setTimeout来加载iframe 友好型iframe加载 转载地址:翻译文章-iframe异步加载技术及性能 英文原文:Iframe ...
- Jackson实现Object对象与Json字符串的互转
在项目开发过程中,当客户端与服务器响应时,数据交互是必不可少的.然而通过Json实现数据交互成为我们开发中的一部分,进而Jackson为我们的Json转化提供了很好的机制.下面我将利用实例总结如何使用 ...
- cpu和gpu关于图像的分工
cpu: 图像IO导入: 图像生成: 部分图片解码: gpu: 几何图像表示: 几何图像组合等处理: 部分格式图像解码: 图像的光学.几何学操控:
- 为什么 Category 不能增加成员变量-nonfragile
三.既然是 non-fragile ivars,为什么 Category 不能增加成员变量? 看过一些资料,理由并不是很让人信服.我觉得并不是做不到,只是现在没有做,现在不支持.我在 Opti ...
- BZOJ1012:[JSOI2008]最大数maxnumber(线段树)
Description 现在请求你维护一个数列,要求提供以下两种操作:1. 查询操作.语法:Q L 功能:查询当前数列中末尾L 个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度.2. ...
- Spring(三)之Ioc、Bean、Scope讲解
Spring容器是Spring Framework的核心.容器将创建对象,将它们连接在一起,配置它们,并管理从创建到销毁的整个生命周期.Spring容器使用DI来管理组成应用程序的组件.这些对象称为S ...
- Azure Blob数据迁移工具
数据迁移备份,更多的应用场景见https://docs.azure.cn/zh-cn/storage/common/storage-moving-data?toc=%2fstorage%2fblobs ...
- C/C++结构体字节对齐详解
结构体的sizeof先看一个结构体:struct S1{ char c; int i;}; sizeof(S1)在VC6中按默认设置得到的结果为8.我们先看看sizeof的定义——size ...
- sqoop2启动job报错
set option --name verbose --value true #打开报错详情输出 Exception has occurred during processing command ...