mysql 主从架构搭建

创建用户:
create user  '用户'@'主机' identified by '123'
授权:
grant  权限 on 级别(全局、库级别、表级别、列级别)  to  '用户'@'主机'  identified by '密码';

revoke

flush privileges

mysql -u用户 -p密码 -h主机  -P端口




在主(Master主机上的操作)

1.关闭防火墙
service iptables stop
setenforce 0

2.安装MySQL客户端和服务端
yum -y install mysql mysql-server

3.启动MySQL服务
service mysqld start
chkconfig mysqld on

4.更改配置文件,开启二进制日志
vim /etc/my.cnf
    在mysqld下增加内容:
        server-id=1
        log-bin=mysql-bin

保存退出后重启MySQL
service mysqld restart

5.登录到本地mysql上,给从(slave)主机授权 同步日志的权限
grant replication slave on *.* to 'tom'@'192.168.189.%' identified by '123';
flush privileges;

6.查看二进制日志和位置
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      331 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

主(master)配置完毕

从(slave)主机的操作

1.关闭防火墙
service iptables stop
setenforce 0

2.安装MySQL客户端和服务端
yum -y install mysql mysql-server

3.启动MySQL服务
service mysqld start
chkconfig mysqld on

4.更改配置文件,开启中继日志
vim /etc/my.cnf
    在mysqld下增加内容:
    server-id=2
    relay-log=mysql-relay
保存退出后重启MySQL
service mysqld restart

登录本地mysql上,执行同步master二进制日志操作
mysql> stop slave;            \停止slave同步
mysql> change master to
    -> master_host='192.168.189.120',  \master主机的ip地址
    -> master_user='tom',                \登录master主机的账号
    -> master_password='123',            \登录的密码
    -> master_log_file='mysql-bin.000001',  \二进制日志文件
    -> master_log_pos=331;

mysql> start slave; \开启slave同步

show slave status G; 查看状态

注意以下两个线程的状态都为Yes,说明配置成功
            Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

测试
在主上创建一个数据库,在从查看能够成功同步既是成功!

主从同步出现一下错误:

Slave_IO_Running: Connecting
Slave_SQL_Running: Yes

解决方法:
导致lave_IO_Running 为connecting 的原因主要有以下 3 个方面:
1、网络不通
2、密码不对
3、pos不对

原文地址:https://www.cnblogs.com/tyk3201/p/12054586.html