在学习配置Mysql的主从 这个文章只是 把基础主从配置通了 但是有很多设定的配置没有进行搭建
MySQL版本:5.6.24
1、修改主从配置(就是/etc/my.cnf文件)
主:[mysqld] -- 这个只是告诉你 下面的配置是mysqld的配置
log_bin = mysql-bin
server_id = 131 --这个是唯一标识,网上挺多人建议拿IP最后一位的,So……
从:[mysqld]
log_bin = mysql-bin
server_id = 132
2、重启MySQL服务
修改配置之后重启生效
service mysqld restart;
3、配置复制账号
root账号不要作为复制账号,专门建立一个账号作为复制专用的账号(当然是主区啦)
GRANT REPLICATION SLAVE ON *.* TO 'mysql'@'%' IDENTIFIED BY '123456';
4、获取主的状态,作为之后的配置
show master status;
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 120
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
5、配置主从
这个是真正的把主从连接起来的,在从上进行配置
change master to
master_host='192.168.43.131',
master_user='mysql',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=120;
其实这里是遇到了两个警告的,
Sending passwords in plain text without SSL/TLS is extremely insecure.
Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual
for more information.
可以去看看这个博主的文章,有提到这个警告
http://blog.youkuaiyun.com/leshami/article/details/41643013?utm_source=tuicool
然后很乖地听了该博主的话
去看了从的状态
show slave status \G
发现和博主说的一样,那两个该死的线程没有开(最后两行,开了的话应该是Yes)
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.43.131
Master_User: mysql
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 644
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 807
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: NO
Slave_SQL_Running: NO
于是去开线程
start slave; #启动slave
启动之后再看两个线程状态都是YES了,OK 可以去看看具体的线程
show processlist\G
6、验证
验证好不想写啊,其实在主从看到两边的线程都有了,基础部分就算是搭完了
验证很简单的,在主区建个库建个表什么的,来从上差看有没有就是了
以上
7、结束语
其实我想配置的是,只针对某个数据库的主从,应该是还有挺多东西没有写配置里面,所以现在是,主从完全,大同步,下次继续学习~