MySQL-5.7主從搭建

來源:互聯網
上載者:User

標籤:defaults   安裝mysql   sts   nlog   term   系統資訊   eve   localhost   參考   

一. 系統資訊

Linux版本:6.8
MySQL版本資訊: /mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
兩台機器IP:
192.168.196.220
192.168.196.221
說明:
mysql的安裝目錄:/opt/mysql
mysql的資料路面:/data/mysql

二. 安裝MySQL-5.71. 設定hostname

hostname當前生效。
~]# hostname MySQL-Master
hostname永久設定。
[[email protected] ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=MySQL-Master
配置解析自己主機名稱
[[email protected] ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 MySQL-Master
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.196.220 MySQL-Master
192.168.196.221 MySQL-Slave

叢集中的主機一定要使其能夠相互解析,可以通過DNS解析,也可以通過/etc/hosts檔案進行。如果主機台數不多我們一般都會選用hosts檔案進行解析。因為DNS要依賴於外部服務。

2. 下載安裝包

~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

3. 展開mysql tarball

~]# tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /opt/
opt]# ln -sv mysql-5.7.20-linux-glibc2.12-x86_64 mysql

4. 建立使用者,以及資料目錄和日誌目錄

~]# useradd -r mysql
~]# install -d -o mysql -g mysql /data/mysql
~]# install -d -o mysql -g mysql /data/log

5. 安裝需要的的libnuma.so.1動態庫

~]# yum -y install numactl

6. 將mysql二進位檔案加入到PATH路徑中

~]# vim /etc/profile.d/mysql.sh
export PATH=/opt/mysql/bin:$PATH

7. 設定檔my.cnf
[[email protected] ~]# cat /etc/my.cnf [mysqld]log-error=/data/log/mysqld.logpid-file=/data/mysql/mysqld.piddatadir=/data/mysqlsocket=/data/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0innodb_file_per_table = ONskip_name_resolve[mysqld_safe]log-error=/data/log/mysqld.logpid-file=/data/mysql/mysqld.pid[mysql]socket=/data/mysql/mysql.sock

注意:1. /etc/my.cnf中/data/log為mysql的日誌目錄,事先已經建立,如果不同請自行修改。 2. /etc/my.cnf中/data/mysql為mysql的資料目錄,事先已經建立,如果不同請自行修改

8. 拷貝啟動指令碼

~]# cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld

注意:
修改datadir和basedir目錄的值:
basedir=/opt/mysql
datadir=/data/mysql
因為mysql的安裝目錄為/opt/mysql。mysql的資料目錄為/data/mysql

9. 建立mysql資料

~]# mysql_install_db --no-defaults --datadir=/data/mysql --user=mysql --basedir=/opt/mysql

注意:--no-defautls會取消mysql_instal_db預設讀取路徑,不加會建立失敗。而且一定要緊隨mysql_install_db之後,否則不會生效。

10. 設定開機自啟啟動服務

~]# chkconfig --add mysqld
~]# service mysqld start

11. 測試連接資料庫

~]# mysql -p"g2!vaDpB16it"
注意:mysql的[email protected]‘localhost‘的密碼在/root/.mysql_secret檔案中。

三. 配置主從1. 修改root密碼

mysql> ALTER USER [email protected]‘localhost‘ IDENTIFIED BY ‘mysql_pass‘;

注意:mysql-5.7系列要先修改使用者密碼才能進行操作,提供安全性。

2. 修改root密碼

master上的操作
分配slave許可權給使用者
mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON . TO [email protected]‘192.168.%‘ IDENTIFIED BY ‘replpass‘;

查看二進位
mysql> SHOW MASTER STATUS;
+----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| bin_log.000001 | 711 | | | |
+----------------+----------+--------------+------------------+-------------------+

slave上的操作:

配置同步的master主機:
mysql> CHAMGE MASTE TO MASTER_HOST=‘192.180.196.220‘,MASTER_USER=‘repluser‘,MASTER_PASSWORD=‘replpass‘,MASTER_LOG_FILE=‘bin_log.000001‘,MASTER_LOG_POS=711;
啟動slave進程:
mysql> start slave;
查看slave是否正常啟動:
mysql> show slave status;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
這兩個參數為yes說明啟動正常

查看slave同步資料
mysql> SHOW DATABASES;
並查看是否具有master上的資料。

參考

配置時中途出現錯誤都是查看的官網,官網網址為: https://dev.mysql.com/doc/refman/5.7/en/

MySQL-5.7主從搭建

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.