mysql主从复制
首先这个密码就搞得我很头大
yum安装的rpm包 系统自动完成初始化 默认密码强度是strong
这个设定是真的坑 规则很严格 反正我试了各种办法都不能满足密码要求
只能先用服务启动时日志里给的初始密码先登进去 然后修改规则 再执行mysql_secury_installtion
更改规则如下图 主要就是 set global validate_password_policy=0;这一句
这样把密码强度设定成LOW 那么只要满足8位以上即可
永久设定 vim /etc/my.conf
修改这个 validate_password=off
这里少截了一张图 要实现主从复制 必须要打开二进制日志
主从的实质就是slave 把master 的日志中所记录的改动在自己这再执行一遍 主备通信是通过读取二进制日志实现的 所以必须打开二进制日志
操作:
vim /etc/my.conf
加入下面两行
log_bin=mysql_bin
server-id=X(X为任意int型)
server-id是你这台主机上mysql的唯一标识 必须和其他的不同
然后重启服务 重新加载配置
/etc/init.d/mysqld restart
下面是master的配置 使用grant 给slave创建可以远程登录的账户
然后使用 show master status 查看状态
其中file列和position列的值 在配置slave时是必不可少的 需要记下
然后在slav端 登录数据库 然后做一下操作
change master to master_host='你master所在的主机的IP',master_user='你刚刚在master端给slave创建的账户名',master_password='master端给slave创建的账户密码',
master_log_file='在master端 查看到的 file列的值',master_log_pos=在master端查看的position列的值(注意这里不要引号);start slave;(启动slave)
然后使用 show slave status\G 查看slave状态
注意!
主要检查两个参数
Slave_IO_Running=yes
Slave_SQL_Running=yes
这两个都是yes的话 就成功了 有一个是no 绝逼失败
下面就是测试了 在master上建立库 建立表 然后插入一行记录
然后在slave上 直接查询 看到master上的数据同步过来了 就成功了