两台机器
创建用户:
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
测试
在主上创建一个数据库,在从查看能够成功同步既是成功!