国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 操作系統(tǒng) > 正文

mysql數(shù)據(jù)庫(kù)主從及主主復(fù)制配置演示

2024-06-28 13:19:27
字體:
供稿:網(wǎng)友
MySQL數(shù)據(jù)庫(kù)主從及主主復(fù)制配置演示

實(shí)驗(yàn)系統(tǒng):CentOS 6.6_x86_64

實(shí)驗(yàn)前提:提前準(zhǔn)備好編譯環(huán)境,防火墻和selinux都關(guān)閉

實(shí)驗(yàn)說明:本實(shí)驗(yàn)共有2臺(tái)主機(jī),ip分配如拓?fù)?/p>

實(shí)驗(yàn)軟件:mariadb-10.0.20

實(shí)驗(yàn)拓?fù)洌?/p>

    

一、安裝mysql

  1.編譯安裝mariadb:

tar xf mariadb-10.0.20-linux-x86_64.tar.gz  -C /usr/local/cd /usr/local/ln -sv mariadb-10.0.20-linux-x86_64 mysqlmkdir -pv /mydata/datauseradd -r mysqlchown -R mysql.mysql /mydata/data/cd mysql/chown -R root.mysql .scripts/mysql_install_db --user=mysql --datadir=/mydata/data/cp support-files/my-large.cnf /etc/my.cnfcp support-files/mysql.server /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld on

  2.編輯配置文件:

vim /etc/my.cnf--------------------------------datadir = /mydata/data             //增加此行--------------------------------service mysqld start/usr/local/mysql/bin/mysql        //連接測(cè)試

    

二、主從復(fù)制

  實(shí)驗(yàn)中我先讓19.43當(dāng)主服務(wù)器,19.48為從服務(wù)器。

  1.主服務(wù)器操作:

    (1)編輯my.cnf,啟用二進(jìn)制日志(如果定義到其他路徑,請(qǐng)給予其mysql權(quán)限):

log-bin=/mydata/data/mysql-bin

    (2)定義server-id:

server-id       = 1

    (3)創(chuàng)建有復(fù)制權(quán)限的賬號(hào):

/usr/local/mysql/bin/mysql-----------------------------------------GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO slave@192.168.19.48 IDENTIFIED BY '123456';      //遵循最小權(quán)限原則FLUSH PRIVILEGES;

    (4)記錄最后的二進(jìn)制日志信息,CHANGE MASTER時(shí)會(huì)用到:

SHOW MASTER LOGS;

    

  2.從服務(wù)器操作:

    (1)啟動(dòng)中繼日志(如果定義到其他路徑,請(qǐng)給予其mysql權(quán)限):

relay_log=/mydata/data/relay-log

    (2)從服務(wù)器用中繼日志就足夠了,關(guān)閉二進(jìn)制日志,減少磁盤IO:

#log-bin=mysql-bin             //將其注釋#binlog_format=mixed

    (3)定義server-id:

server-id       = 2            //不能與主服務(wù)器相同

    (4)配置CHANGE MASTER:

/usr/local/mysql/bin/mysql-----------------------------------------CHANGE MASTER TO MASTER_HOST='192.168.19.43',MASTER_USER='slave',MASTER_PASSWord='123456',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=326;SHOW SLAVE STATUS/G                //查看狀態(tài)
*************************** 1. row ***************************               Slave_IO_State:                   Master_Host: 192.168.19.43                  Master_User: slave                  Master_Port: 3306                Connect_Retry: 60              Master_Log_File: mysql-bin.000002          Read_Master_Log_Pos: 326               Relay_Log_File: relay-log.000001                Relay_Log_Pos: 4        Relay_Master_Log_File: mysql-bin.000002             Slave_IO_Running: No            Slave_SQL_Running: No              Replicate_Do_DB:           Replicate_Ignore_DB:            Replicate_Do_Table:        Replicate_Ignore_Table:       Replicate_Wild_Do_Table:   Replicate_Wild_Ignore_Table:                    Last_Errno: 0                   Last_Error:                  Skip_Counter: 0          Exec_Master_Log_Pos: 326              Relay_Log_Space: 248              Until_Condition: None               Until_Log_File:                 Until_Log_Pos: 0           Master_SSL_Allowed: No           Master_SSL_CA_File:            Master_SSL_CA_Path:               Master_SSL_Cert:             Master_SSL_Cipher:                Master_SSL_Key:         Seconds_Behind_Master: NULLMaster_SSL_Verify_Server_Cert: No                Last_IO_Errno: 0                Last_IO_Error:                Last_SQL_Errno: 0               Last_SQL_Error:   Replicate_Ignore_Server_Ids:              Master_Server_Id: 0               Master_SSL_Crl:            Master_SSL_Crlpath:                    Using_Gtid: No                  Gtid_IO_Pos: 1 row in set (0.00 sec)

    (5)啟動(dòng)io thread以及sql thread:

START SLAVE;

    

  3.在主服務(wù)器創(chuàng)建數(shù)據(jù)庫(kù),從服務(wù)器查看:

CREATE DATABASE jason;     //主服務(wù)器創(chuàng)建數(shù)據(jù)庫(kù)SHOW DATABASES;            //從服務(wù)器查看

    

  4.如果主數(shù)據(jù)庫(kù)不是新建立的,而是使用過一段時(shí)間,且里面已經(jīng)有不少數(shù)據(jù)的情況下,需要先把主服務(wù)器數(shù)據(jù)導(dǎo)出,再導(dǎo)入到從服務(wù)器,然后根據(jù)上面的步驟進(jìn)行主從復(fù)制,這里將不再演示。

  導(dǎo)出數(shù)據(jù)庫(kù)命令參考:mysqldump --all-databases --lock-all-tables --master-data=2 >name.sql

三、半同步復(fù)制

  1.什么是半同步復(fù)制?

    因?yàn)殚_啟這個(gè)功能之后,主服務(wù)器只等待多個(gè)從服務(wù)器中的指定的一臺(tái)從服務(wù)器復(fù)制成功,然后才進(jìn)行其他寫操作,使這個(gè)從服務(wù)器和主服務(wù)器上的數(shù)據(jù)完全同步,而并不管其他的從服務(wù)器。這在一定程度上就保證了我們數(shù)據(jù)的安全性。這個(gè)功能需要打由google貢獻(xiàn)的補(bǔ)丁,它是以插件的形式存在的。補(bǔ)丁存放的位置在:/usr/local/mysql/lib/plugin/

  2.主服務(wù)器打補(bǔ)丁:

/usr/local/mysql/bin/mysql---------------------------------------------INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';SHOW GLOBAL VARIABLES LIKE '%semi%';        //查看狀態(tài)

    

  3.主服務(wù)器修改配置:

SET GLOBAL rpl_semi_sync_master_enabled=1;SET GLOBAL rpl_semi_sync_master_timeout=1000;

  4.從服務(wù)器打補(bǔ)丁:

/usr/local/mysql/bin/mysql---------------------------------------------INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';SHOW GLOBAL VARIABLES LIKE '%semi%';

    

  5.從服務(wù)器修改配置:

SET GLOBAL rpl_semi_sync_slave_enabled=1;STOP SLAVE;START SLAVE;

  6.主服務(wù)器查看狀態(tài):

SHOW GLOBAL STATUS LIKE '%semi%';

    

四、主主復(fù)制

  1.由于剛才做了許多操作,為了不影響之后的實(shí)驗(yàn),我們先將數(shù)據(jù)庫(kù)進(jìn)行重置:

service mysqld stoprm -rf /mydata/data/*                                                                     //刪除數(shù)據(jù)庫(kù)文件/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/mydata/data/        //初始化mysql

  2.修改my.cnf:

    19.43上:

vim /etc/my.cnf-------------------------------------------[mysqld]server-id=1log-bin=/mydata/data/mysql1-bin               //開啟二進(jìn)制日志relay_log=/mydata/data/relay-log              //開始中繼日志auto-increment-increment = 2                  //每次增長(zhǎng)的數(shù)值auto-increment-offset = 1                     //開始的數(shù)值

    19.48上:

vim /etc/my.cnf-------------------------------------------[mysqld]server-id=2log-bin=/mydata/data/mysql2-binrelay_log=/mydata/data/relay-logauto-increment-increment = 2auto-increment-offset = 2

  3.創(chuàng)建具有復(fù)制權(quán)限的用戶:

    19.43上:

service mysqld start/usr/local/mysql/bin/mysql------------------------------------------GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO mmm@192.168.19.48 IDENTIFIED BY '123456';FLUSH PRIVILEGES;

    19.48上:

service mysqld start/usr/local/mysql/bin/mysql------------------------------------------GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO mmm@192.168.19.43 IDENTIFIED BY '123456';FLUSH PRIVILEGES;

  4.查看二進(jìn)制位置:

    19.43上:

SHOW MASTER LOGS;

    

    19.48上使用同樣的命令:

    

  5.配置CHANGE MASTER:

    19.43上:

CHANGE MASTER TO MASTER_HOST='192.168.19.48',MASTER_USER='mmm',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql2-bin.000001',MASTER_LOG_POS=642;START SLAVE;

    19.48上:

CHANGE MASTER TO MASTER_HOST='192.168.19.43',MASTER_USER='mmm',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql1-bin.000001',MASTER_LOG_POS=642;START SLAVE;

  6.查看狀態(tài):

SHOW SLAVE STATUS/G

    

    

  之后的復(fù)制演示這里不再演示,請(qǐng)大家自行嘗試。至此,所有試驗(yàn)演示完畢,謝謝!


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵武市| 张家口市| 合江县| 巴彦淖尔市| 通榆县| 义乌市| 博白县| 方城县| 进贤县| 乌鲁木齐市| 威远县| 兴宁市| 汪清县| 利津县| 扬州市| 同江市| 澎湖县| 句容市| 祥云县| 长乐市| 东乡族自治县| 界首市| 诸城市| 西平县| 灵石县| 文登市| 丹凤县| 会泽县| 嘉黎县| 甘孜县| 武鸣县| 大足县| 收藏| 谷城县| 武冈市| 三明市| 通渭县| 武义县| 东海县| 上饶市| 雅安市|