mysql5.7 主從搭建
阿新 • • 發佈:2019-05-13
直接 pan rsa 變量 主從配置 port 均可 oot useradd
環境、版本
centos 7.2 mysql5.7.13
mysql Master 操作
下載軟件包
cd /opt/soft wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz --no-check-certificate
安裝
tar -xvf /opt/soft/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ mv mysql-5.7.13-linux-glibc2.5-x86_64 mysqlmkdir -p /data/mysql #數據目錄 mkdir -p /data/log/mysql #日誌目錄 groupadd mysql useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql chown -R mysql:mysql /user/local/mysql chown -R mysql:mysql /data/mysql/ chown -R mysql:mysql /data/log/ ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #初始化數據庫,完成後會生成一個臨時密碼,註意保存 ./bin/mysql_ssl_rsa_setup --datadir=/data/mysql #數據庫加密
常規配置
vi /etc/my.cnf
[mysql] default-character-set=utf8 [mysqld] default-storage-engine=INNODB character_set_server=utf8
mysql 命令加環境變量
echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile bash /etc/profile
通過初始密碼登錄改一個新密碼
mysql -uroot -p set password=password("密碼"); flush privileges;
systemctl enable mysql 開機自啟
主從同步配置
vi /etc/my.cnf server-id=1 log_bin=master-bin log_bin_index=master-bin.index binlog_do_db=test #備註: #server-id 服務器唯一標識。 #log_bin 啟動MySQL二進制日誌,即數據同步語句,從數據庫會一條一條的執行這些語句。 #binlog_do_db 指定記錄二進制日誌的數據庫,即需要復制的數據庫名,如果復制多個數據庫,重復設置這個選項即可。 #binlog_ignore_db 指定不記錄二進制日誌的數據庫,即不需要復制的數據庫名,如果有多個數據庫,重復設置這個選項即可。 #其中需要註意的是,binlog_do_db和binlog_ignore_db為互斥選項,一般只需要一個即可
創建從服務器權限
[[email protected] mysql]# mysql -uroot -p Enter password: #創建從數據庫的masterbackup用戶和權限 mysql> grant replication slave on *.* to [email protected]‘192.168.17.%‘ identified by ‘123456‘; #備註 #192.168.17.%通配符,表示0-255的IP都可訪問主服務器,正式環境請配置指定從服務器IP #若將 192.168.17.% 改為 %,則任何ip均可作為其從數據庫來訪問主服務器 #退出mysql mysql> exit; service mysql restart mysql -uroot -p show master status; #記錄pos 位置,和日誌文件名字
mysql Backup 操作
下載,安裝,常規配置同上
主從配置
vi /etc/my.cnf server-id=2 relay-log=slave-relay-bin relay-log-index=slave-relay-bin.index
啟動同步
mysql -uroot -p
change master to master_host=‘192.168.1.1‘,master_port=3306,master_user=‘masterbackup‘,master_password=‘123456‘,master_log_file=‘master-bin.000004‘,master_log_pos=154;
start slave
show slave status\G; #查看狀態是否正常
master_log_file,master_log_pos 為在主上執行show master status命令查看獲得信息
show slave status;\G 查看狀態如下全為yes 即可,否則配置有問題
Slave_SQL_Running: Yes
Slave_IO_Running: Yes
測試
登錄mysql 主 選擇test 數據,創建如下表 create table tb_test(ID varchar(36) primary key comment ‘主鍵ID‘,MEMO varchar(500) not null comment ‘信息‘); insert into tb_test(ID,MEMO) values(‘1‘,‘one test‘);
後期增加新的要同步數據庫
1、直接在master 配置文件上配置要增加的數據庫名稱,
2、授權從數據庫能夠訪問同步的新數據庫
3、停止從的同步服務,重新執行 change master to master_host=‘192.168.1.1‘,master_port=3306,master_user=‘masterbackup‘,...命令
4、start slave
5、show slave status;
mysql5.7 主從搭建