centos 6.5 mysql主键_CentOS6.5配置MYSQL一主多从详解

一、环境

1 操作系统 :CentOS 6.5

2 数据库版本:MySQL 5.6.27

3 主机A:192.168.1.1(Master)4 从机B:192.168.1.2(Slave)5 从机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= 7relay-log = relay-loglog_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 '123456';

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slaver'@'%' IDENTIFIED BY '123456';

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= 7relay-log = relay-log# 注意:不同的slave这里也是唯一的

binlog-ignore-db =information_schema

binlog-ignore-db =performance_schema

binlog-ignore-db =mysql

binlog-ignore-db =testreplicate-do-db =vertical_analysisreplicate-ignore-db =mysql

log_slave_updates

skip-slave-start

slave-skip-errors = allslave-net-timeout = 60

2、配置Slave同步信息

mysql>stop slave;

mysql> change master tomaster_host='192.168.1.1',

master_port=3306,

master_user='slaver',

master_password='123456',

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后复制正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值