了解MySQL数据库以及MySQL主从服务
MySQL数据库:顾名思义,一个可以提供数据存储服务的软件。
MySQL主从服务:在A、B两机器做主从后,在A上写数据,B也会跟着写数据,两者数据同步。
首先需要准备两台虚拟机
192.168.100.101 | db1 | MariaDB数据库集群主节点 |
192.168.100.102 | db2 | MariaDB数据库集群从节点 |
修改主机名
[root@mycat ~]# hostnamectl set-hostname db1
[root@mycat ~]# hostnamectl set-hostname db2
关闭两台虚拟机的防火墙和SELinux服务
[root@db1 ~]# setenforce 0
[root@db1 ~]# systemctl stop firewalld
在master和slave中配置映射文件
# vim /etc/hosts
添加
192.168.100.102 db1
192.168.100.101 db2
安装mysql
yum安装mariadb
[root@db1 ~]# yum install -y mariadb mariadb-server
[root@db2~]# yum install -y mariadb mariadb-server
安装完成后在两个节点启动服务并设置开机自启
[root@db1 ~]# systemctl start mariadb
[root@db1 ~]# systemctl enable mariadb
初始化数据库
在master和slave节点上初始化数据库,并设置数据库root用户访问密码为123456
[root@db1~]# mysql_secure_installation
输入密码
按回车确认密码
数据库集群节点
[root@db1 ~]# vim /etc/my.cnf
重启master中mariadb服务并登录
[root@db1 ~]# systemctl restart mariadb
[root@db1~]# mysql -uroot -p123456
db2节点跟db1配置大部分一样,需要改的地方在 /etc/my.cnf里的server_id=1 改成2
开放主节点的数据库权限
在主节点db1授权任何客户端机器上可以用root用户登录
MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by "123456";
在主节点db1数据库上创建一个user用户让从节点db2连接,并赋予从节点同步主节点数据库的权限
MariaDB [(none)]> grant replication slave on *.* to 'user'@'db2' identified by '123456';
在db2虚拟机登录数据库,配置从节点连接主节点的连接信息。master_host为主节点主机名db1,master_user为授权时创建的用户user,命令如下。
MariaDB [(none)]> change master to master_host='db1',master_user='user',master_password='123456';
开启从节点服务
start slave;
使用show slave status\G
如果Slave_IO_Running和Slave_SQL_Running的状态都为YES,则从节点服务开启成功