中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql的主從復制

發布時間:2020-09-29 00:51:29 來源:網絡 閱讀:601 作者:期待有一天 欄目:數據庫

Mysql的主從復制

 

  Mysql的主從復制,我們一般用來保證數據間的同步關系,比如有分公司,我們就需要把數據同步給千里之外的分公司,這樣就很方便快捷。這個實驗我們還實現了ssl安全連接,這樣在同步的過程起到了安全保護數據的作用

 

我們這個實驗用的mysql版本是5.7,相比較之前的版本會有一些不同

  Mysql5.7 支持原生systemd

  Mysql5.7 CPU、固的優化 更InnoDB引擎 更為健壯的制功能

 

安裝mysql

我所用的centos7.2x86_64,這個版本自帶mariadb-libs,所以要把它卸載:

Rpm  -aq  | grep mariadb

安裝依賴包

安裝cmake

【root@localhost  ~】#  tar zxf cmake-3.5.2.tar.gz

【root@localhost  ~】#  cd  cmake-3.5.2/

【root@localhost  cmake-3.5.2】#  ./bootstrap

使用 gmake && gmakeinstall 編譯

【root@localhost  cmake-3.5.2】# gmake && gmake install

安裝ncurses

【root@localhost  ~】# tar zxf ncurses-5.9.tar.gz

【root@localhost  ~】# cd ncurses-5.9/

【root@localhost  ncurses-5.9】# ./configure && make && make install

 

安裝bison

【root@localhost  ~】# tar zxf bison-3.0.4.tar.gz

【root@localhost  ~】# cd bison-3.0.4/

【root@localhost  bison-3.0.4】# ./configure && make && make install

 

安裝boost

【root@localhost  ~】# tar zxf boost_1_59_0.tar.gz

【root@localhost  ~】#cd boost_1_59_0/

【root@localhost  boost_1_59_0】# cd

【root@localhost  ~】#mv boost_1_59_0  /usr/local/boost

 

創建用戶并添加到組

【root@localhost  ~】# groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql

 

創建mysql安裝目錄和數據庫目錄

mkdir/usr/local/mysql                 ---目錄

mkdir/usr/local/mysql/data            ---庫目錄

 

安裝mysql

Mysql的主從復制Mysql的主從復制





我們可以使用make && make install 進行編譯安裝,不過這條命令是只用單線程,安裝過程過于緩慢,用下面這條命令可以CPU核數指定程數,大大提高了安裝的速度

make -j  $(grep processor/proc/cpuinfo | wc -l)

-j:CPU核數指定程數

  在安裝所需模塊的時候難免輸入錯誤,當我們想重新運行cmake配置,CMakeCache.txt文件: #makeclean

   #rm -f CMakeCache.txt

 

 

優化Mysql路徑

Mysql的主從復制

始化MySQL權表

#cd     /usr/local/mysql

# chown     -R     mysql:mysql     .         ---,屬組,注mysql .

注意:5.7.6后版數據使方式

#/usr/local/mysql/bin/mysqld       --initialize-insecure      --user=mysql     --basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data

Mysql的主從復制

Mysql的主從復制

生成一條mysql的初始密碼(注意保存),后面要用到!

 

文件

#cd     /usr/local/mysql/support-files        ---進入MySQL安裝

#cp     my-default.cnf     /etc/my.cnf      ---的配

修改下圖

#vi     /etc/my.cnf

 

Mysql的主從復制

 

配置mysql自動

Mysql的主從復制

我們開啟mysql服務是會報錯,原因是mysqld.service把默認的pid到了/var/run/mysqld/并沒有事立該 目錄目錄mysql用戶;

解決方法有兩個:

一是創建mysqld.service文件里指定的目錄/var/run/mysqld并給屬主權限:chown -R mysql:mysql/var/run/mysqld

 

二是修改/usr/lib/system/system/mysqld.service文件里的指定路徑,寫入一個已存在的路徑

 


Mysql的主從復制

Mysql的主從復制

systemctdaemon-reload重新加載

Mysql的主從復制再次mysql服務

Mysql的主從復制

連接數據庫 ----密碼是剛開的初始密碼

Mysql的主從復制

修改庫管root的密碼

Mysql的主從復制 



基于ssl連接的主復制

1在主mysql創建SSL/RSA文件

#cd  /usr/local/mysql/bin   ---目錄

#mysql_ssl_rsa_setup  --user=mysql   --basedir=/usr/local/mysql

--datadir=/usr/local/mysql/data   ---新的SSL文件


重啟mysqld服務之前,我們要給server-key.pem權限

chmod +r /usr/local/mysql/data/server-key.pem

然后再重啟服務 #systemctl restart mysqld

重啟mysql時錯誤日錯了

登錄mysql執行mysql>showvariableslike'%ssl%';

Mysql的主從復制

從上以看mysql持了ssl連接

Mysql的主從復制在主mysql完成,再REQUIRESSL

進入mysql

Mysql  -u root -p 123.abc

Mysql>grant replication slave on *.* to ‘rep’@’192.168.1.%’identified  by require ssl;

 

Mysql的主從復制在主mysql進制日志并重mysql服務

Mysql的主從復制

添加

Log-bin=mysql-bin

重啟mysql

Systemctlrestart mysqld

進入mysql

Mysql-u root -p ‘123.abc’

 

查看master狀態

Showmaster status;

Mysql的主從復制注:顯示fileposition配置從服用到防火墻允3306/tcp通信

【root@localhost  ~】# firewall-cmd  --permanent  --add-port=3306/tcp

【root@localhost  ~】#firewall-cmd  -reload


配置從服務器

##可以克隆主mysql,修改ip即可。

mysql服務器 /etc/my.cnf件內容

 

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

port = 3306

server_id = 2

socket = /usr/local/mysql/mysql.sock

log-error = /usr/local/mysql/data/mysqld.err

relay-log = /usr/local/mysql/data/relay-log-bin

relay-log-index = /usr/local//mysqldata/slave-relay-bin.index

 

Mysql的主從復制注:server_id,不能和mysql的重復

 

 

Mysql的主從復制把主mysql書給務器

在主mysql中的/usr/local/mysql/daata路徑下執行scp;

【root@localhost data】# scp ca.pem client-cert.pemclient-key.pem root@192.168.1.150:/usr/local/mysql/data/

注意:192.168.1.150是從mysql的ip,192.168.1.100是主mysql的ip地址。

!!!!!!設置client-key.pemr權限,要不然無法使用私鑰

 

 

重啟mysql服務

Systemctl  restrt mysqld

進入數據庫

Mysql-u root -p‘123.abc’

查看SSL

Show variables ‘%ssl%’;

要求:have-openssl  YES 

    Have-ssl     YES

 

 

那么可以mysqlSSL連接試:

   cd /usr/local/mysql/data

   Mysql --ssl-ca=ca.pem  ssl-cert=client-cert.pem  ssl-key=client-key.pem  -u rep

   -p123456 -h 192.168.1.100

進入數據庫后,使用\s查看數據庫詳細信息,會發現是主mysql的ip,ssl測試連接成功

 

最后replicate,登錄從mysql上mysql上執行:

Mysql的主從復制

Mysql的主從復制

Mysql的主從復制

開啟從mysql服務器

Mysql的主從復制

Mysql的主從復制

注意:因為我們的從mysql是克隆的主mysql,所以我們要修改從mysql的uuid

路徑是:/usr/local/mysql/daa/auto.cnf

 

修改完成之后重啟mysqld服務

Systemctl restart mysqld

登錄從mysql 執行

show slave status\G;

會發現:

Slave_IO_Running:Yes

Slave_SQL_Running:Yes

 

測試:在主mysql上創建庫和表,在從mysql上會立刻進行同步!!!!


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凭祥市| 辉南县| 彭阳县| 泉州市| 卫辉市| 德清县| 尚义县| 佛山市| 连云港市| 沙田区| 广元市| 盐亭县| 南投市| 浦江县| 卢氏县| 普宁市| 平利县| 河西区| 友谊县| 宁乡县| 炉霍县| 施秉县| 临颍县| 汝阳县| 金湖县| 河曲县| 和田县| 仲巴县| 荣成市| 航空| 萨迦县| 淮阳县| 方山县| 迭部县| 乐安县| 林西县| 陆丰市| 尤溪县| 雷山县| 永清县| 巫山县|