一、克隆2台CentOS虚拟机,并分别安装MySQL
预设为1台主机 1台从机
设置允许远程连接和root密码
use mysql
select host,user,password from user;
update user set host='%' where host='localhost' and user='root';
delete from user where host!='%';
update user set password=password('root');
flush privileges;
=============================================================
主从复制配置流程:
一、主机配置
1 主机配置: /etc/my.cnf
在[mysqld]下配置:
server-id=10 //id(唯一标识)
log-bin=mysql-bin //二进制日志文件的名称
binlog-do-db=students //要记录二进制日志的数据库,可以有多个,如下
#binlog-do-db=db1
#binlog-do-db=db2
#binlog-ignore-db=xx //不记录二进制日志的数据库
2 重启主机的MySQL服务
service mysqld restart
3 登录MySQL查看主机状态
mysql -u root -h 192.168.1.103 -p
mysql>show master status;
*记录下file字段值,和position字段值,要告知给从机
二、从机配置
1 从机配置:/etc/my.cnf
在[mysqld]下:
server-id=11
replicate-do-db=students
#replicate-ignore-db=xx
三、手动同步主从MySQL的原始数据(统一起跑线)
*** 使用MySQL的client工具(navacat等)即可 ***
或者
1 从主机中导出数据库students中的数据:
[root@baizhi ~]# mysqldump -u root -h 192.168.1.103 -p students > /root/stu.sql (之后输入密码即可)
2 把生成的sql文件 上传到 从机
3 在从机中导入数据
1> 在从机中创建数据库:students
2> 导入数据
mysql -u root -h 192.168.1.104 -p
mysql> use students
mysql> source /root/stu.sql
四、从机备份配置
1 重启从机的MySQL服务
service mysqld restart
2 配置从机备份
1> mysql> mysql -u root -h 192.168.1.104 -p
2> mysql> slave stop; // 停止slave同步进程
3> mysql> change master to
master_host='192.168.31.138',
master_user='root',
master_password='root',
master_log_file='mylog.000003',
master_log_pos=106; // 配置备份信息
注意: 此处的master_log_pos一定要和"主MySQL"的position一致
登录主MySQL,通过"show master status"查看主机的position
4> slave start; // 开启slave同步进程
3 show slave status\G #查看slave同步信息(G后不要加分号)
4 注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!
mysql主从复制
最新推荐文章于 2023-10-19 14:13:14 发布