MySQL主从架构搭建
两台机器
创建用户: create user '用户'@'主机' identified by '123' 授权: grant 权限 on 级别(全局、库级别、表级别、列级别) to '用户'@'主机' identified by '密码'; revoke flush privileges mysql -u用户 -p密码 -h主机 -P端口
例:
mysql> create user 'ds'@'192.168.189.129' identified by '123'; mysql> grant all on *.* to 'ds'@'192.168.189.129' identified by '123'; mysql> flush privileges;
主机MySQL操作
在主(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
跳过错误 : slave_skip_errors=1146 #此步骤在主从配置屡遭失败是可以使用 保存退出后重启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_port=3306, \\端口看情况写,本次实验MySQL,端口3306 -> master_password='123', \\登录的密码 -> master_log_file='mysql-bin.000001', \\二进制日志文件 -> master_log_pos=331; \\二进制日志文件的位置 mysql> start slave; \\开启slave同步 查询slave状态 mysql> show slave status \G; 注意以下两个线程的状态都为Yes,说明配置成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
测试
在主上创建一个数据库,在从查看能够成功同步既是成功!