CentOS6.5配置MYSQL一主多从详解
一、环境
操作系统 :CentOS 6.5
数据库版本:MySQL 5.6.27
主机A:192.168.1.1 (Master)
从机B:192.168.1.2 (Slave)
从机B:192.168.1.3 (Slave)
二、基本环境配置
MYSQL是通过3306端口访问的,所以要保证防火墙对3306端口的开启。
三、Master的配置
1、配置my.cnf
在Linux环境下MySQL的配置文件的位置是在 /etc/my.cnf ,在该文件下指定Master的配置如下:
[root@mycentos ~]# vim /etc/my.cnf server-id = 1 # 一般用IP的最后一段,这个标识是唯一的
log-bin = mysql-bin
binlog-ignore-db = test # 排除不同步的库
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema
binlog-do-db = vertical_analysis # 选择要同步的库
binlog_format = mixed
expire_logs_days = 7
relay-log = relay-log
log_slave_updates
skip-slave-start
说明:
binlog-ignore-db:表示同步的时候ignore的数据库
binlog-do-db:指定需要同步的数据库
2、重启mysql
[root@mycentos ~]# service mysqld restart
3、进入mysql
[root@mycentos ~]# mysql -u root -p
4、 赋予从库权限帐号
允许用户在主库上读取日志,赋予192.168.1.2/3也就是Slave机器有File权限,只赋予Slave机器有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。
在Master数据库命令行中输入:
mysql> GRANT FILE ON *.* TO 'slaver'@'%' IDENTIFIED BY '';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slaver'@'%' IDENTIFIED BY '';
mysql> FLUSH PRIVILEGES
这里slaver 用户作为同步的时候使用到的用户,可以自己设定。
5、检测授权结果
mysql> select * from user where host='%' and user='slaver'\G; # 如果Repl_slave_priv项为Y,表示授权成功。
6、查看主数据库master状态
mysql> show master status; +------------------+----------+-----------------------+---------------------------------------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+-----------------------+---------------------------------------------------+-------------------+ | mysql-bin.000004 | 28125 | vertical_analysis | performance_schema ,information_schema,test,mysql | | +------------------+----------+-----------------------+---------------------------------------------------+-------------------+ 1 row in set (0.00 sec)
这里的 File 、Position 是在配置Salve的时候要使用到的,Binlog_Do_DB表示要同步的数据库,Binlog_Ignore_DB 表示Ignore的数据库,这些都是在配置的时候进行指定的。
四、Slave的配置
1、配置my.cnf
[root@mycentos ~]# vim /etc/my.cnf server-id = 2 # 一般用IP的最后一段,这个标识是唯一的
log-bin = mysql-bin
binlog_format = mixed
expire_logs_days = 7
relay-log = relay-log # 注意:不同的slave这里也是唯一的
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
binlog-ignore-db = mysql
binlog-ignore-db = test
replicate-do-db = vertical_analysis
replicate-ignore-db = mysql
log_slave_updates
skip-slave-start
slave-skip-errors = all
slave-net-timeout = 60
2、配置Slave同步信息
mysql> stop slave; mysql> change master to
master_host='192.168.1.1',
master_port=3306,
master_user='slaver',
master_password='',
master_log_file='mysql-bin.000004',
master_log_pos=28125; mysql> start slave;
3、检测从数据库复制功能状态
mysql> show slave status\G; # 其中下面两项都必须为yes。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
五、验证
在主库上建一张表,看下从库是否同步过来。
附:
错误1:Slave failed to initialize relay log info structure from the repository
解决方法:使用reset slave all清空所有的复制信息,然后重置master.info、start slave后复制正常。
CentOS6.5配置MYSQL一主多从详解的更多相关文章
- MySQL Cluster 配置文件(config.ini)详解
MySQL Cluster 配置文件(config.ini)详解 ################################################################### ...
- MySQL数据类型以及基本使用详解
MySQL数据类型以及基本使用详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL服务器的主要组件 我们知道MySQL的主要组件主要是由服务端(mysqld)和客户端 ...
- mysql互为主从实战设置详解及自动化备份(Centos7.2)
mysql互为主从实战设置详解(Centos7.2) 第一步:mysql配置 my.cnf配置 服务器1 (10.89.10.90) [mysqld] server-id=1 log-bin=/ ...
- Mysql数据库导入命令Source详解
Mysql数据库导入命令Source详解 几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p dat ...
- Nginx 主配置文件参数详解
Nginx 主配置文件参数详解 Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置). ...
- MySQL事务及隔离级别详解
MySQL事务及隔离级别详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的基本架构 MySQL的基本架构可以分为三块,即连接池,核心功能层,存储引擎层. 1> ...
- mysql 聚集函数 count 使用详解
mysql 聚集函数 count 使用详解 本文将探讨以下问题 1.count(*) . count(n).count(null)与count(fieldName) 2.distinct 与 coun ...
- mysql中event的用法详解
一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...
- MYSQL常用内置函数详解说明
函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音 ...
随机推荐
- ERP项目实施记录06
自上月20以后,因厂里赶货,办公室人员有空也要去车间帮手,ERP的事就没动静了. 2014年1月10日开了个小组会议,认为第三方不是专业做本行业的,开发风险大:因此希望先开发一个报价软件试试. 明天第 ...
- Android源码服务专家(申明:来源于网络)
Android源码服务专家(申明:来源于网络) 地址:http://www.javaapk.com/topics/demo/page/20/
- Python中的FTP通信模块ftplib的用法
Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件.FTP的工作流程及基本操作可参考协议RFC959. ftp登陆连接 from f ...
- pytorch定义一个简单的神经网络
刚学习pytorch,简单记录一下 """ test Funcition """ import torch from torch.autog ...
- 启用hive hwi方法
hive启动hwi: ./hive --service hwi ls: cannot access /opt/cdh-5.3.6/hive-0.13.1/lib/hive-hwi-*.war: No ...
- CSS:Float
CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列. Float(浮动),往往是用于图像,但它在布局时一样非常有用. 元素怎样浮动 元素的水平方向浮动,意味着元素只能左右 ...
- cocoapods 无法 升级 repo 无法执行pod install命令
首先MAC自带了ruby,他是用rvm 管理的, 如果你用homebrew又安装了一个新版,很可能在升级cocoapods时遇到问题,明明自己用homebrew升级到最新版本了,页配置环境变量了,为什 ...
- en-zh(社会问题)social problems
The world's richest man, Amazon founder Jeff Bezos, and his wife MacKenzie have agreed a record-brea ...
- Chap6:风险与监督[《区块链中文词典》维京&甲子]
- [skill][c][ld][gcc] 明确指定gcc在链接时明确使用静态库
通常,我们这样链接: gcc -o a.out -L/usr/lib/ -ltest a.o 这样它会链接动态库 libtest.so, 可是有时候我们想在静态库与动态库同时存在时,优先使用静态库. ...