共计 1368 个字符,预计需要花费 4 分钟才能阅读完成。
MySQL 的经典主从复制
1、一个服务器程序充当主服务器,多个服务器充当从服务器。
2、主服务器将更新写入二进制日志文件,从服务器等待接受主服务器的更新。
3、为了实现主服务器写数据,从服务器读数据。
4、在备份过程中,不会干扰主服务器,主服务器可以持续处理更新。
server33
yum install mysql-server -y
vim /etc/my.cnf
8 server-id=3 必须为 1 到 232–1 之间的一个正整数值
9
10 log-bin=mysql-bin 启动二进制日志系统
11 binlog-do-db=test 二进制需要同步的数据库名, 要是还有要同步的数据库, 就另起一行
12 binlog-ignore-db=mysql 禁止同步 数据库 /etc/init.d/mysqld start
创建 slave 帐户, 并给予权限
mysql> grant replication slave on *.* to miao@’172.25.88.%’ identified by ‘westos’
保证同步前主从数据库具有相同结构
show slave status\G ;
查看 slave 状态, 出现两个 YES, 表示从库的 I/O,Slave_SQL 线程都正确开启. 表明数据库正在同步!!!!
IO: 防火墙, 权限,selinux
SQL:////////////////////////////
mysql> use test;
Database changed
mysql> create table usertb (
-> username varchar(15) not null,
-> password varchar(25) not null
-> );
mysql> insert into usertb values (‘user1′,’123’);
mysql> insert into usertb values (‘user2′,’456’);
server44:
yum install mysql-server -y vim /etc/my.cnf
8 server-id=4
// 从服务器 ID 号, 不要和主 ID 相同, 如果设置多个从服务器, 每个从服务器必须有一个唯一的 server-id 值
10 read-only // 可以不写, 但是为了数据库安全, 还是写只读吧.
/etc/init.d/mysqld start
mysql> change master to master_host='172.25.88.33',master_user='miao' , master_password='westos',master_log_file='mysql-bin.000003',master_log_pos=256;
mysql> show slave status\G;
mysql> show tables;
mysql> select * from usertb;
说明
mysqlbinlog mysql-bin.000001
用 mysqlbinlog 工具来显示记录的二进制结果,然后导入到文本文件,为了以后的恢复。
server-id=3
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-04/142452.htm