Mysql 数据库主从搭建
测试环境
节点 | IP地址 |
---|---|
master | 192.168.1.10 |
slave | 192.168.1.20 |
master节点的配置
[root@master ~]# vi /etc/hosts //编辑hosts文件 两个节点操作一致
192.168.1.10 master
192.168.1.20 slave
[root@master ~]# yum install -y mariadb mariadb-server //安装mariadb数据库
[root@master ~]# vi /etc/my.cnf //修改配置文件添加如下信息
[mysqld]
log-bin=mysql-bin
server-id=100 //两个节点的ID号不能够一致
[root@master ~]# systemctl start mariadb //启动数据库
[root@master ~]# systemctl enable mariadb
[root@master ~]# mysql_secure_installation //初始化数据库设置数据库的密码
[root@master ~]# mysql -uroot -p123 //登录数据库
MariaDB [(none)]> show master status; //查看数据库的状态 进入对应的参数
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 1480 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
创建从服务器同步数据的账号
MariaDB [(none)]> grant replication slave on *.* to 'admin'@'%' identified by 'admin123';
Query OK, 0 rows affected (0.00 sec)
查看master的状态
MariaDB [(none)]> show master status \G
*************************** 1. row ***************************
File: mysql-bin.000003
Position: 1625
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.00 sec)
slave节点的配置
[root@slave ~]# yum install -y mariadb mariadb-server //安装数据库
[root@slave ~]# vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin
server-id=99 //这里不能够和master一致
[root@slave ~]# systemctl start mariadb
[root@slave ~]# systemctl enable mariadb
[root@slave ~]# mysql_secure_installation
[root@slave ~]# mysql -uroot -p123 //登录数据库
MariaDB [(none)]> change master to master_host='192.168.1.10',master_user='admin',master_password='admin123',master_log_file='mysql-bin.000003',master_log_pos=1625;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> start slave; //启动slave节点
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show slave status \G //查看详细状态
同步状态测试
在master节点创建数据库
MariaDB [(none)]> create database t1;
Query OK, 1 row affected (0.00 sec)
slave节点查看是否实现同步
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| t1 |
+--------------------+
4 rows in set (0.00 sec)
实现同步