目录
Linux下的Mysql主从备份
配置环境:
Linux服务器
Server:10.10.65.51
Client:10.10.65.71
一、准备工作
1、关闭Server和Client的防火墙和seLinux
Systemctl stop firewalld
Setenforce 0
2、Ping 测试
Mariadb默认不是很严谨,数据库在设置密码的前提下,不用密码也用进入,所以在做生成项目 的时候,需要在安装完成的mariadb下进行生产配置。
3、安装Mariadb
yum -y install mariadb mariadb-server
重启mariadb,测试进入
[root@localhost logs]# systemctl restart mariadb
[root@localhost logs]# mysql -u root -p
Enter password:
4、mariadb的生成配置
mysql_secure_installation
二、Server端操作
1、创建数据库
2、授权
给ip在10.10.65.任意字段的用户授权,密码是1234
GRANT REPLICATION SLAVE ON *.* TO root@‘10.10.65.%’ IDENTIFIED BY '1234' with grant option;
3、刷新授权表
flush privileges;
4、查看授权的状态
show master status;
5、创建测试表
MariaDB [(none)]> use OurBlog;
Database changed
MariaDB [OurBlog]> create table article(id int primary key auto_increment,title char(32));
Query OK, 0 rows affected (0.01 sec)
6、导出数据库
退出数据库之后进行导出
Mysqldump -h localhost -u root -p123 OurBlog > OurBlog.sql
7、使用scp命令传到71的opt下
scp OurBlog.sql root@10.10.65.71:/opt
8、配置文件/etc/my.cnf
Server:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id=1
log_bin=mysql-bin?
binlog-do-db=OurBlog
binlog-ignore-db=mysql
保存 esc:wq
重启Sytemctl restart mariadb
三、客户端
1、创建数据库
进入mysql创建同名的数据库
2、导入传过来的OurBlog.sql
mysql -h localhost -u root -p123 OurBlog<OurBlog.sql
3、配置文件/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server-id=2
log_bin=mysql-bin?
binlog-do-db=OurBlog
binlog-ignore-db=mysql
保存 esc:wq
重启Sytemctl restart mariadb
进入数据库
4、配置备份
change master to
MASTER_HOST='10.10.65.51',MASTER_USER='root',MASTER_PASSWORD="1234",MASTER_LOG_FILE='mysql-bin?.000001',MASTER_LOG_POS=245;
5、开始备份
Slave start(stop)
6、查看备份状态
Show slave status
显示这样的话就是可以了,然后可以在主服务器中给数据表添加字段,然后在从服务器上看,是否同步了
基本排错
1、先停止备份 slave stop
2、退出mariadb
3、重启Mariadb
4、进入mariadb
5、从新开启备份 slave start
如果slave_io_running 出现connecting代表有错误
查看日志
/var/log/mariadb/mariadb.log