: 矮哥linux运维群:93324526


前言:

MySQL的数据是如此的重要,不做个备份吗?

部署

1.快速部署方案
1.安装好要配置从库的数据库,配置好log-bin和server-id
2.无需配置主库my.cnf文件,主库的log-bin和server-id参数默认就是配置好的
3.登录主库增加用于从库连接主库同步的账号例如:rep,并授权replication slave同步权限
4.使用半页mysqldump带--master-data=1备份的全备数据恢复到从库,5.在从库执行change master to ...语句6.从库开启同步开关,start slave7.从库 show slave status\G,检查同步状态,并在主库进行更新测试。

[shell]:
[mysql]:

主库

1.开启节点

[shell]:echo -e "log-bin=mysql-bin\nserver-id=1">>/etc/my.cnf
[shell]:/etc/init.d/mysqld restart

2.添加从库用户

[mysql]:grant replication slave on *.* to 'rep'@'172.16.1.%' identified by '123456';
[mysql]:flush privileges;

3.锁库

[mysql]:flush table with read lock; 
[mysql]:show master status;

show variables like "%timeout%"; 查看锁的超时时间interactive和wait
4.备份

[shell]:mysqldump -uroot -p123456  -A -B --events|gzip>/opt/rep.sql.gz

5.开锁

[mysql]:unlock tables;
从库

小坑:因为yum仓库的mysql是克隆关系,所以加上此命令

mv /application/mysql/data/auto.cnf{,.bak}

就跟克隆虚拟机效果一样
1.增加节点

[shell]:echo -e "log-bin=mysql-bin\nserver-id=2">>/etc/my.cnf
[shell]:/etc/init.d/mysqld restart

2.导入数据
把主库的给scp到从库上,并进行数据

[shell]:zcat rep.sql.gz |mysql -uroot -p123456

3.配置从库数据

主库查询master状态

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000002 |      120 |              |                  |                   |

+------------------+----------+--------------+------------------+-------------------+



[mysql]:CHANGE MASTER TO MASTER_HOST='172.16.1.51',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=120;

4.开启从库

start slave;

5.查看状态

[mysql]:show slave status\G#出现两个yes就好了#Slave_IO_Running: Yes#Slave_SQL_Running: Yes
步骤回顾
步骤回顾: 1.准备两台数据库环境,或者单台多实例环境,能否正常启动和登录。 2.配置my.cnf文件,主库配置log-bin和server-id参数,从库配置server-id,不能和主库及其他从库一样,一般不开启从库log-bin功能。注意配置参数后要重启生效。 3.登录主库增加用于从库连接主库同步的账号:例如rep,并授权replication slave同步的权限。 4.登录主库,整库锁表flush table with read lock(窗口关闭后即失效,超时参数倒了也失效。)然后show master status 查看binlog的位置状态。 5.新开窗口,linux命令行备份或导出原有的数据库数据,并拷贝岛从库所在的服务器目录。
     如果数据量很大,并且允许停机。可以停机打包,而不用mysqldump
 6.解锁主库:unlock tables; 7.把主库导出的原有数据恢复岛从库。 8.根据主库的show master status查看binlog的位置状态,在从库执行change master to ...语句 9.从库开启同步开关,start slave。 10.从库show slave status、G,检查同步状态,并在主库进行更新测试。