数据安全(主从复制)
安装数据库,在centos7中MySQL数据库为mariadb,此次试验需要开启两台Linux虚拟机做数据库的备份(主从复制)
两台都安装数据库
[root@localhost ~]# yum -y install mariadb*
开启数据库
[root@localhost ~]# systemctl start mariadb
两台服务器都必须关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
由于数据库的旧数据无法做主从复制,所以需要先导出数据,在利用某些服务复制到另一台虚拟机(从服务器)上,以备导入备份数据库
[root@localhost ~]# mysqldump --all-databases > all.sql
咱们此次用的是ssh,现在安装ssh
[root@localhost ~]# yum -y install openssh*
开始ssh服务
[root@localhost ~]# systemctl start sshd
上传到从服务器上
scp /root/all.sql root@192.168.209.111:/root
将数据导入到数据库
[root@localhost ~]# mysql < all.sql
编辑数据库配置文件,配置主从复制条件
[root@localhost ~]# vi /etc/my.cnf
(主服务器配置文件中的添加项)
server-id=1
log-bin=mysql-bin
(从服务器的添加项)
创建远程用户并授予复制的权限
MariaDB [(none)]> grant replication slave on *.* to lll@'%' identified by '111’
Query OK, 0 rows affected (0.01 sec)
查看主服务器文件信息
MariaDB [(none)]> show master status;
此处是从服务器的数据库中,关闭复制功能
MariaDB [(none)]> stop slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)
关联主数据库,主从复制
MariaDB [(none)]> change master to master_host='192.168.209.110',
-> master_user='lll',
-> master_password='111',
-> master_log_file='mysql-bin.000003',
-> master_log_pos=245;
Query OK, 0 rows affected (0.01 sec)
开始功能
MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.00 sec)
查看数据库同步状态,出现双‘yes’,则表示同步成功
MariaDB [(none)]> show slave status\G;