Mariadb主从同步示例

两台服务为例,两台同时安装mariadb,要求版本一致,两台yum install mariadb* -y ,初始化mysql_secure_installation
主服务器
1、vim /etc/my.conf
[mysqld]
log-bin=mysql-bin -----开启二进制日志
server-id=1 ------server-id 要唯一
systemctl restart mariadb
2、创建一个用户,并授权从任何主机地址来的用户名为rep只能进行主从同步
MariaDB [(none)]>grant replication slave on *.* to 'rep'@'%' identified by "123456";
MariaDB [(none)]>flush privileges; ----刷新授权表
MariaDB [(none)]> show grant for rep; ----查看授权表
3、锁定表为只读,并查看记录好目前日志的文件名及日志里面的位置信息
MariaDB [(none)]> flush tables with read lock;
MariaDB [(none)]> show master status;

4、备份数据中的所有库
[root@node01 ~]#mysqldump -uroot -p --all-databases > ./mysql_bak.$(date +%F).sql
5、解锁表
MariaDB [(none)]> unlock tables;
6、将备份文件复制到从服务器
scp mysql_bak.2022-07-25.sql root@192.168.243.130:/root/mysql_bak.2022-07-25.sql

从服务器
1、vim /etc/my.conf
[mysqld]
log-bin=mysql-bin -----可以选择开启二进制日志
server-id=2 ------server-id 要唯一
systemctl restart mariadb
2、导入主服务器备份的文件
[root@node02 ~]#mysql -uroot -p123456 < mysql_bak.2022-07-25.sql
MariaDB [(none)]>show databases; ----查看还原导入的情况
3、配置同步参数,登陆主mysql获取二进制日志
change master to master_host='192.168.243.129',master_port=3306,master_user='rep',master_password='123456',master_log_file='binlog.000002',master_log_pos=3589;
4、启动主从同步进程
start slave;
5、检查状态
show slave status\G

从服务使用mysqldump来备份
mysqldump -uroot -h192.168.1.180 --master-data=2 --databases worklearn --flush-logs -p123456
--routines选项:表示备份时,存储过程和存储函数也会被备份。
--triggers选项:表示备份时,触发器会被备份。
--events选项:表示备份时,事件表会被备份。

posted @ 2022-07-25 16:36  Me-lihu  阅读(206)  评论(0编辑  收藏  举报