国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Mysql - MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

2020-12-19 21:40明哥的運維筆記 Mysql

這篇文章主要介紹了MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控

MYSQL 5.6 安裝和部署

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#1.下載安裝包  
wget https://download.osichina.net/tools/mysql/mysql-5.6.28.tar.gz  
   
#2.創(chuàng)建用戶和安裝相關(guān)組件  
useradd mysql  
yum -y install autoconf automake cmake gcc-c++ libgcrypt libtool libxml2 ncurses-devel zlib  
   
#3.解壓和編譯安裝(安裝路徑:/usr/local/mysql)  
tar -xzvf mysql-5.6.28.tar.gz  
cd mysql-5.6.28  
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/data -DSYSCONFDIR=/etc -DWITH_PARTITION_STORAGE_ENGINE=1  
make && make install  
   
#4.添加環(huán)境變量  
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile  
   
#5.MYSQL配置  
cat > /etc/my.cnf << EOF  
[mysqld_safe]  
log-error=/data/mysql/log/mysql.err  
   
[mysqld]  
datadir=/data/mysql/data  
tmpdir=/data/mysql/tmp  
socket=/var/lib/mysql/mysql.sock  
user=mysql  
character_set_server=utf8  
default-storage-engine=INNODB  
innodb_buffer_pool_size=1G  
#slow_query_log=1  
#slow_query_log_file=/data/mysql/log/mysql.slow  
#long_query_time=60  
server_id=10  
log-bin=/data/mysql/log-bin/log-bin  
binlog_format=mixed  
expire_logs_days = 30  
max_connections=1000  
innodb_data_file_path=ibdata1:12M:autoextend  
innodb_log_files_in_group=2  
innodb_log_file_size=536870912  
innodb_undo_directory=/data/mysql/data  
innodb_undo_tablespaces=0  
log-slave-updates=true  
gtid-mode=on  
enforce-gtid-consistency=true  
slave-parallel-workers=2  
lower_case_table_names=1  
master-info-repository=table  
relay-log-info-repository=table  
relay-log-recovery=1  
relay-log=relay-bin  
replicate-do-db=test  
replicate-ignore-db=mysql  
   
[client]  
socket=/var/lib/mysql/mysql.sock  
EOF  
   
#6.創(chuàng)建相關(guān)目錄和文件  
mdkir -p /data/mysql/data /data/mysql/log /data/mysql/log-bin /data/mysql/tmp /var/lib/mysql  
touch /data/mysql/log/mysql.err  
chown mysql:mysql /data/mysql /var/lib/mysql /usr/local/mysql -R  
   
#7.初始化配置  
cd /usr/local/mysql  
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/data  
   
#8.啟動、添加為服務(wù)和安全配置  
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld  
chmod +x /etc/init.d/mysqld  
chkconfig --add mysqld  
chkconfig mysqld on  
service mysqld restart  
   
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock  
mysql_secure_installation #交互式安全配置

MYSQL 主從配置

1. 主庫創(chuàng)建賬號

 
?
1
 
2
GRANT REPLICATION SLAVE ON *.* to 'user'@'%' identified by 'password';  
flush privileges ;

2. 備份數(shù)據(jù)與恢復(fù)到從庫

為了保障數(shù)據(jù)的一致性,需要對表加鎖。如果數(shù)據(jù)量比較小,先鎖表lock后記錄master的的pos位置,然后采用mysqldump備份即可。如果數(shù)據(jù)量比較大可采用mydumper或者xtrabackup進行數(shù)據(jù)備份。我這邊數(shù)據(jù)量相對較大,采用mydumper進行備份。
 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
#1.下載和安裝mydumper(默認安裝位置在:/usr/local/bin)  
wget https://download.osichina.net/tools/mysql/mydumper-0.9.1.tar.gz  
cmake .  
make && make install  
   
#2.采用多線程備份數(shù)據(jù)  
#為了保障數(shù)據(jù)一致性,備份會鎖表,也就說該備份的賬號需要reload權(quán)限  
#-h 主機 -u 用戶 -p 密碼 -t 幾個線程 -c 開啟壓縮 -B 備份哪個數(shù)據(jù)庫 -o 備份到哪里  
mkdir backup  
cd backup  
nohup /usr/local/bin/mydumper -h x.x.x.x -u user -p 'password' -t 8 -c -B dbname -o ./ &  
   
#3.備份數(shù)據(jù)后導(dǎo)入(傳輸數(shù)據(jù)到從庫后導(dǎo)入,需要在從庫也安裝相同版本的mydumper)  
nohup /usr/local/bin/myloader -u user -p 'password' -t 8 -B dbname -o  -d ./backup/ &

3. 主從配置

(1) master配置

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(1) master配置
# 不同步哪些數(shù)據(jù)庫  
binlog-ignore-db = mysql  
binlog-ignore-db = test  
binlog-ignore-db = information_schema  
   
# 只同步哪些數(shù)據(jù)庫,除此之外,其他不同步  
binlog-do-db = dbname  
   
# 日志保留時間  
expire_logs_days = 10  
   
# 控制binlog的寫入頻率。每執(zhí)行多少次事務(wù)寫入一次  
# 這個參數(shù)性能消耗很大,但可減小MySQL崩潰造成的損失  
sync_binlog = 5  
   
# 日志格式,建議mixed  
# statement 保存SQL語句  
# row 保存影響記錄數(shù)據(jù)  
# mixed 前面兩種的結(jié)合  
binlog_format = mixed  

(2) slave配置
slave如上安裝時的配置,注意的是replicate-do-db、replicate-ignore-db的配置

(3) 執(zhí)行同步
master log file和pos可以參考mydumper metadata文件

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

 
?
1
 
2
3
CHANGE MASTER TO MASTER_HOST='x.x.x.x',master_port=3306,MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=123454678,MASTER_AUTO_POSITION=0;  
start slave user='user' password='password';  
show slave status \G;

MYSQL延遲監(jiān)控和報警

1. 利用zabbix添加MYSQL監(jiān)控

(1) zabbix客戶端安裝和部署以及添加主機

 
?
1
 
2
3
4
5
6
7
zabbixServer=192.168.1.2  
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm  
yum -y install zabbix-agent  
sed -i "s/Server=127.0.0.1/Server=${zabbixServer}/g" /etc/zabbix/zabbix_agentd.conf  
sed -i "s/ServerActive=127.0.0.1/ServerActive=${zabbixServer}/g" /etc/zabbix/zabbix_agentd.conf  
sed -i "s/Hostname=Zabbix server/Hostname=`hostname`/g" /etc/zabbix/zabbix_agentd.conf  
systemctl enable zabbix-agent --now

具體怎么在zabbix上添加主機,此處就省略了。(以上安裝zabbix客戶端操作系統(tǒng)版本是:centos7.6)
默認通過yum安裝的zabbix配置文件目錄在: /etc/zabbix/,默認在有1個關(guān)聯(lián)的MYSQL配置文件/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

(2) 添加zabbix監(jiān)控授權(quán)

 
?
1
 
2
3
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW on *.* to zabbix_monitor@'127.0.0.1' identified by 'xxxxxxx';  
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW on *.* to zabbix_monitor@'localhost' identified by 'xxxxxxx';  
flush privileges ;

(3) 初始化配置(該mysql zabbix客戶端上執(zhí)行)

 
?
1
 
2
3
4
5
6
7
8
9
mdkir -p /var/lib/zabbix  
cat > /var/lib/zabbix/.my.cnf << EOF  
[client]  
user=zbx_monitor  
password=xxxxxxx  
EOF  
chown zabbix:zabbix /var/lib/zabbix -R  
service zabbix-agent restart  
service zabbix-agent status

(4) 在zabbix web端關(guān)聯(lián)MYSQL模板即可完成監(jiān)控

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

2. 利用zabbix現(xiàn)有MYSQL模板添加從庫延遲監(jiān)控

(1) 創(chuàng)建主從延遲腳本

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
mkdir -p /etc/zabbix/scripts  
cat > /etc/zabbix/scripts/check_mysql_slave.sh << EOF  
#!/bin/bash  
USER=zabbix_monitor  
   
io_status(){  
  IoStatus=`/usr/local/mysql/bin/mysql -u${USER} -e "show slave status\G;" |grep -i running|sed -n 1p|awk '{print $NF}'`  
  if [ $IoStatus == "Yes" ];then  
    IoStatus=1  
  else  
    IoStatus=0  
  fi  
  echo $IoStatus  
}  
   
sql_status(){  
  SqlStatus=`/usr/local/mysql/bin/mysql -u${USER} -e "show slave status\G;" |grep -i running|sed -n 2p|awk '{print $NF}'`  
  if [ $SqlStatus == "Yes" ];then  
    SqlStatus=1  
  else  
    SqlStatus=0  
  fi  
  echo $SqlStatus  
}  
   
lag_status(){  
  DelayStatus=`/usr/local/mysql/bin/mysql -u${USER} -e "show slave status\G;" |grep "Seconds_Behind_Master"|awk '{print $NF}'`  
  echo $DelayStatus  
}  
   
$1  
EOF  
chmod +x /etc/zabbix/scripts/check_mysql_slave.sh

(2) 從缺省配置文件中讀取賬號信息
如果在腳本中直接用賬號密碼執(zhí)行命令,會產(chǎn)生不安全的提示

 
?
1
 
2
3
4
5
6
7
8
9
10
11
cat >> /etc/my.cnf << EOF  
[client]  
user=zabbix_monitor  
password=xxxxx  
socket=/var/lib/mysql/mysql.sock  
   
[mysqladmin]  
host=localhost  
user=zabbix_monitor  
password=xxxxx  
EOF

(3) 測試腳本是否正常

 
?
1
 
2
3
/etc/zabbix/scripts/check_mysql_slave.sh io_status  
/etc/zabbix/scripts/check_mysql_slave.sh sql_status  
/etc/zabbix/scripts/check_mysql_slave.sh lag_status

io_status: 1 表示正常 0表示不正常
sql_status: 1 表示正常 0表示不正常
lag_status: 表示延遲的時間

(4) 添加用戶參數(shù)配置(客戶端)

 
?
1
 
2
3
/etc/zabbix/scripts/check_mysql_slave.sh io_status  
/etc/zabbix/scripts/check_mysql_slave.sh sql_status  
/etc/zabbix/scripts/check_mysql_slave.sh lag_status

(5) 重啟zabbix客戶端后再服務(wù)端驗證

 
?
1
 
2
3
4
5
service zabbix-agent restart  
service zabbix-agent status  
zabbix_get -s x.x.x.x -p 10050 -k mysql.slave[io_status]  
zabbix_get -s x.x.x.x -p 10050 -k mysql.slave[sql_status]  
zabbix_get -s x.x.x.x -p 10050 -k mysql.slave[lag_status]

(6) 在zabbix web上克隆原來的MYSQL模板后添加監(jiān)控項和觸發(fā)器和圖形

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

(7)在主機上關(guān)聯(lián)新的MYSQL從庫監(jiān)控模板

MYSQL 5.6 從庫復(fù)制的部署和監(jiān)控的實現(xiàn)

幾個補充的知識點

1. 關(guān)于replicate-do-db的控制

在MySQL5.5/5.6版本中,由于修改復(fù)制過濾參數(shù)只能在my.cnf中進行修改,所以需要重啟數(shù)據(jù)庫;
而最新版5.7版本中,如下三步就可以不用重啟服務(wù)器就生效了:

 
?
1
 
2
3
STOP SLAVE SQL_THREAD;  
CHANGE REPLICATION FILTER REPLICATE_DO_DB = (dbname),REPLICATE_IGNORE_DB = (mysql);  
START SLAVE SQL_THREAD;

2. change Master的相關(guān)問題

如果是整庫復(fù)制,不需要指定pos file和pos位置。

 
?
1
 
2
CHANGE MASTER TO MASTER_HOST='x.x.x.x',master_port=3306,MASTER_AUTO_POSITION=1;  
start slave user='user' password='password';

如果是復(fù)制部分?jǐn)?shù)據(jù)庫或者出現(xiàn)找不到master上的pos位置。請手動指定pos位置

3. mydumper的安裝和部署以及相關(guān)問題

在安裝mydumper時,如果出現(xiàn)glib報錯,請安裝glib庫 yum install glib2* -y
安裝完成之后,請刪除解壓后文件,重新解壓后編譯安裝

4. 從庫提示用戶和密碼不安全的問題

默認的情況下,如果你在change master中指定用戶和密碼,會將賬號信息傳給master,這樣做是不安全的。最新的同步語法,建議在change master中不指定賬號信息,而是在start slave中指定。

5. 從庫提示crash問題

為了安全崩潰考慮,需要將master和Relaylog存儲在表中,如果不存表中,mysql日志中會出現(xiàn)warning的警告。

 
?
1
 
2
3
4
#Master信息存儲在表里  
master_info_repository = TABLE  
#Relaylog信息存儲在表里  
relay_log_info_repository = TABLE

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://segmentfault.com/a/1190000021174019

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美精品一区在线 | 精品视频二区 | av最新在线 | 久久婷婷av| 九九九九精品九九九九 | 日本不卡一区二区三区在线观看 | 亚洲专区中文字幕 | 欧美成人a | 精品国产欧美一区二区 | 中文字幕人成乱码在线观看 | 亚洲国产精品99久久久久久久久 | 日穴视频在线观看 | 一区二区三区四区在线视频 | 国产片在线播放 | 国产精品高清在线观看 | 欧美一区二区大片 | 亚洲一区精品在线 | 日本精品久久 | 午夜精品久久久久 | 在线免费色视频 | 川上优av中文字幕一区二区 | 成人精品99 | 可以在线观看的av网站 | 国产精品视频一二三区 | a视频在线免费观看 | 中文字幕一区二区三区乱码在线 | 九九热在线免费视频 | 中文字幕久久久 | 久久逼逼| 欧美自拍一区 | 影音先锋男人网 | 久久天堂电影 | 国产二区视频 | 黄色毛片免费视频 | 亚洲精彩视频 | 国产96在线视频 | 精品免费国产一区二区三区四区 | 亚洲九九 | 黄色网页在线 | 午夜精品一区二区三区在线视频 | 成人va在线观看 |