1、環境準備mysql
1)CentOS Linux release 7.4.1708 (Core)sql
2)YUM安裝 Mariadb數據庫
3)兩臺虛擬機,master:192.168.231.132 slave:192.168.231.135vim
2、安裝部署服務器
1)Master 主機配置:socket
首先,登陸到主服務器:
[root@master ~]# rpm -qa |grep mariadb
mariadb-server-5.5.56-2.el7.x86_64
mariadb-5.5.56-2.el7.x86_64
mariadb-devel-5.5.56-2.el7.x86_64
mariadb-libs-5.5.56-2.el7.x86_64
[root@master ~]# mysql -uroot -p
Enter password:
---------------------------------------
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| release_system |
+--------------------+
4 rows in set (0.00 sec) #此時看到主服務器裏有一個release_system庫,如今退出mariadb
[root@master ~]# vim /etc/my.cnf #增長如下紅色字段
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
log-bin=mysql-bin #將mysql二進制日誌取名爲mysql-bin
binlog_format=mixed #二進制日誌的格式,有三種:statement/row/mixed,具體分別很少作解釋,這裏使用mixed
server-id=1 #爲服務器設置一個獨一無二的id便於區分
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
重啓 mariadb 服務:
[root@master ~]# systemctl restart mariadb
進到 mariadb 界面:
MariaDB [(none)]> GRANT replication slave ON *.* TO 'biezz'@'%' IDENTIFIED BY 'biezz';
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show master status; #查看主服務器BIN日誌的信息
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 462 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
2)slave 主機配置測試
登陸到從服務器:
[root@slave ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
此時,咱們發現從服務器上面沒有按照 mariadb,下面咱們YUM安裝過一遍
[root@slave ~]# yum install -y mariadb-server mariadb
************************************************************** 下載安裝的過程,咱們省略
[root@slave ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
mariadb-5.5.56-2.el7.x86_64
mariadb-server-5.5.56-2.el7.x86_64
[root@slave ~]# systemctl start mariadb
[root@slave ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@slave ~]# mysql_secure_installation
設置root密碼,一路回車便可,而後進入 mariadb 界面:
MariaDB [(none)]> CHANGE MASTER TO
-> MASTER_HOST = "192.168.231.132",
-> MASTER_USER = "biezz",
-> MASTER_PASSWORD = "biezz",
-> MASTER_LOG_FILE = "mysql-bin.000001",
-> MASTER_LOG_POS = 462;
Query OK, 0 rows affected (0.02 sec)
[root@slave ~]# vim /etc/my.cnf #同上,這一步能夠一進來從服務器的時候就配置,我忘記了。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
log-bin=mysql-bin
binlog_format=mixed
server-id=2
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
此時咱們,啓動看看(正常狀況下,這裏應該啓動成功的):
MariaDB [(none)]> start slave;
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO
MariaDB [(none)]>
MariaDB [(none)]> SHOW VARIABLES LIKE 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 0 |
+---------------+-------+
1 row in set (0.00 sec)
我明明在配置文件裏配置的server_id =2 ....
MariaDB [(none)]> SET GLOBAL server_id=2;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> start slave; #nice,nice,nice
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
3)測試spa
[root@master ~]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 6 Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database form; Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| form || mysql || performance_schema |+--------------------+4 rows in set (0.01 sec)MariaDB [(none)]> Ctrl-C -- exit!Aborted[root@slave ~]# 此時,咱們看到主服務器上面建立了一個form數據庫,在從服務器上面已經查到了。