溫馨提示×

溫馨提示×

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

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

mysql數(shù)據(jù)庫遷移、多端口運行、innobackupex備份

發(fā)布時間:2020-08-09 10:42:41 來源:網(wǎng)絡 閱讀:1137 作者:九幽心 欄目:數(shù)據(jù)庫

1、需求:由11服務器mysql遷移至12服務器

 

12服務器:

nc -l 12345|tar zxvf

11服務器:

ldd /usr/local/mysql/bin/mysqld|xargs tar zcvf  so.tar.gz  //ldd查看依賴庫文件并且打包

scp so.tar.gz 192.168.1.12:/root//遠程傳送庫文件

tar zcvf - mysql |nc 192.168.1.12 12345

12服務器://上面我用到的是nc命令來傳輸,方法隨意,能傳就行

 iptables -F

 setenforce 0//注意關閉安全機制,才能保證文件傳輸

 tar xf so.tar.gz//lib64放置,這里我就不詳細寫了

 mv mysql/ /usr/local///傳輸好了移動到usr目錄

 cd /usr/local/mysql/support-files/

 cp my-medium.cnf /etc/my.cnf//復制中等配置文件

 cp mysql.server /etc/init.d/mysqld//復制啟動文件

 ln -s  /usr/local/mysql/bin/* /usr/local/bin//復制mysql命令,當然用PAHT添加也行

 cd /usr/local/mysql/scripts/

 useradd -M -s /sbin/nologin mysql//創(chuàng)建mysql程序用戶,才能數(shù)據(jù)初始化

./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql//數(shù)據(jù)初始化

 service mysqld start//啟動mysqld服務

 ps aux|grep mysql

 mysql -uroot -p//登錄,用戶名密碼和11服務器一樣,數(shù)據(jù)也一樣

 

 

 

 

2、需求:一臺mysql服務器啟動多個端口的mysql

 

[root@localhost ~]# service mysqld stop

[root@localhost ~]# for i in {3306..3308};do cp /etc/my.cnf /etc/my${i}.cnf;done

//復制配置文件,名字為/etc/my3307.cnf

[root@localhost ~]# mkdir -p  /www/mysqldata{3306..3308}

//制作數(shù)據(jù)目錄

[root@localhost /]# for i in {3306..3308};do /usr/local/mysql/scripts/mysql_install_db --datadir=/www/mysqldata$i --user=mysql --basedir=/usr/local/mysql;done

//對制作的數(shù)據(jù)目錄初始化

 

[root@localhost local]# vi /etc/my3307.cnf   //改兩項:這里以3307為例

[mysqld]

port=3307//這項上面已經(jīng)改了

socket=/tmp/mysql_3307.sock     //指定socket目錄

datadir=/www/mysqldata3307/    //指定數(shù)據(jù)目錄,如果不指定,則下面啟動3307端口時候需要加--datadir=/www/mysqldata3307  --user=mysql

[client]

port        = 3307

socket      = /tmp/mysql_3307.sock

啟動3307端口:(其他的類似)

mysqld_safe --defaults-extra-file=/etc/my3307.cnf &

進入mysql

[root@localhost local]# mysql -uroot -S /tmp/mysql_3307.sock (其實不用-root也可以登錄)

 

關閉對應的mysqld服務:(方法很多,也可以用kill -9

[root@localhost local]# mysqladmin -uroot -S /tmp/mysql_3307.sock shutdown

 

 

3307的數(shù)據(jù)可以直接復制到3306

[root@localhost test]# cp aa.frm ../../mysqldata3306/test/   

//目前在mysqldata3307/test  




3、需求:用innobackupex工具對數(shù)據(jù)進行備份

 

開啟的是多端口模式,針對3306端口,配置文件是/etc/my3306.cnf   數(shù)據(jù)文件是/www/mysqldata3306

[root@localhost ~]#yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL//安裝依賴包

[root@localhost ~]#rpm -ivh percona-xtrabackup-2.0.2-461.rhel6.x86_64.rpm  --nodeps

[root@localhost tmp]# mkdir /home/mysqlbak/fullfile/aaa -p   //制作備份文件存放路徑

[root@localhost tmp]# innobackupex --user=root --slave-info  --socket=/tmp/mysql3306.sock --defaults-file=/etc/my3306.cnf /home/mysqlbak/fullfile/aaa > /dev/null//開始備份

加--databases "mysql.user test"  可以指定庫指定表備份

 

備份前先關閉數(shù)據(jù)庫,并且刪除數(shù)據(jù)文件和日志文件(重命名就可以)

mysqladmin -uroot -S /tmp/mysql33036.sock shutdown   //關閉數(shù)據(jù)庫

[root@localhost www]# mv mysqldata3306 mysqldata3306.bak//刪除原數(shù)據(jù)文件

[root@localhost www]# mkdir mysqldata3306//制作空目錄數(shù)據(jù)文件

[root@localhost tmp]#  innobackupex --defaults-file=/etc/my3306.cnf --user=root --password=123 --apply-log --rsync --use-memory=4 /home/mysqlbak/fullfile/aaa/2017-03-06_13-08-44//應用日志,--use-memory=4選項可以加快恢復速度

[root@localhost tmp]# innobackupex --defaults-file=/etc/my3306.cnf  --user=root --password=123 --copy-back /home/mysqlbak/fullfile/aaa/2017-03-06_13-08-44 //拷貝到原數(shù)據(jù)文件下

[root@localhost www]# chown -R mysql:mysql mysqldata3306//給權限,讓mysql能夠讀取

 

從什么可以看出,恢復分為兩個步驟,第1步是apply-log,為了加快速度,一般建議設置--use-memory,這個步驟完成之后,目錄/backup/mysql/data/2017-03-06_13-08-44下的備份文件已經(jīng)準備就緒。

2步是copy-back,即把備份文件拷貝至原數(shù)據(jù)目錄下。

恢復完成之后,一定要記得檢查數(shù)據(jù)目錄的所有者和權限是否正確。

 

常用選項:

--parallel=4 --throttle=400                      并行個數(shù),根據(jù)主機配置選擇合適的,默認是1個,多個可以加快備份速度。

--stream=tar                                       壓縮類型,這里選擇tar格式,可以加,可不加。加上文件就小一點,在備份的時候就已經(jīng)打包好了

 



向AI問一下細節(jié)

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

AI