數據庫遷移

數據庫遷移操作

準備環境

web01:

安裝lnmp+博客

db01:

安裝mysql服務

nfs01:

安裝nfs服務


cd /home/oldboy/tools/

scp -rp mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz 172.16.1.51:/home/oldboy/tools/

第一個里程碑-部署mysql服務(db01)

01.下載解壓軟件程序

# 解壓mysql二進制包軟件程序

cd /home/oldboy/tools

tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

# 移動解壓目錄到系統程序保存目錄中

mkdir -p /application/

mv /home/oldboy/tools/mysql-5.6.34-*-x86_64 /application/mysql-5.6.34

02.添加數據管理用戶

# 確認數據管理用戶是否存在

id mysql

# 進行程序運行用戶添加

useradd mysql -s /sbin/nologin -M

03.創建MySQL程序目錄的軟鏈接

ln -s /application/mysql-5.6.34/ /application/mysql

04.對數據庫中數據目錄授權

chown -R mysql.mysql /application/mysql/data/

05.對數據庫進行初始化操作

cd /application/mysql

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql

06.編寫修改啓動腳本

# 複製啓動腳本並授權

cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld 

# 修改啓動腳本文件內容(調整程序安裝目錄信息)

sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

07.設置服務配置文件

# 利用mysql程序默認配置文件替換系統中數據庫配置文件

cp /application/mysql/support-files/my-default.cnf /etc/my.cnf 

08.啓動mysql數據庫程序服務

/etc/init.d/mysqld start

09.登錄進入數據庫中

# 設置數據庫登錄初始密碼信息

/application/mysql/bin/mysqladmin -u root password 'oldboy123'

# 將數據庫命令加入環境變量中

echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile

source /etc/profile

which mysql

# mysql -uroot -poldboy123


10.加入開機自啓動

chkconfig --add mysqld 

chkconfig mysqld on

11.查看服務是否開啓

netstat -lntup|grep mysql


第二個里程碑-備份數據(web01)

01.備份數據

/etc/init.d/mysqld start

mysqldump -uroot -poldboy123 --all-databases >/tmp/mysqlbak.sql


02.將備份數據推送到db01上

scp -rp /tmp/mysqlbak.sql 172.16.1.51:/tmp


03.將mysql的主機地址localhost修改爲ip形式

vim /application/nginx/html/blog/wp-config.php 

/** MySQL數據庫用戶名 */

define('DB_USER', 'wordpress');

/** MySQL數據庫密碼 */

define('DB_PASSWORD', 'oldboy123');

/** MySQL主機 */

define('DB_HOST', '172.16.1.51');




第三個里程碑-數據還原(db01)

01.還原數據庫

mysql -uroot -poldboy123 </tmp/mysqlbak.sql

02.授權刷新(root權限登錄)

mysql -uroot -poldboy123

grant all on wordpress.* to 'wordpress'@'172.16.1.0/255.255.255.0' identified by 'oldboy123';

flush privileges;

select user,host from mysql.user;


03.使用wordpress用戶登錄

mysql -uwordpress -poldboy123 -h 172.16.1.51


第四個里程碑-網站上的數據掛着到nfs服務器上

服務端的操作(nfs)------------------------------------

01.檢查軟件是否存在:

rpm -qa nfs-utils rpcbind

02.進行軟件安裝

yum install nfs-utils rpcbind -y

03.對安裝的兩個軟件進行啓動(先啓動rpcbind,再啓動nfs)

/etc/init.d/rpcbind start

/etc/init.d/nfs start

04.查看服務是否開啓

ss -lntup|egrep "rpcbind|nfs"

05.加入開機自啓動及查看

chkconfig rpcbind on

chkconfig nfs on

chkconfig --list|awk '$1~/nfs$|rpcbind/'

06.修改配置文件

vim /etc/exports 

/data 172.16.1.0/24(rw,sync,all_squash)

07.創建共享目錄

mkdir -p /data 

ll -d /data/

08.修改共享目錄的屬主屬組的權限

chown -R nfsnobody.nfsnobody /data/

09.重啓nfs服務並查看是否支持掛載

/etc/init.d/nfs reload

showmount -e 172.16.1.31

注意:修改完配置文件一定要平滑重啓哦


web01服務的操作--------------------------------------

01.創建一個備份用戶數據的目錄

mkdir -p /tmp/nfsbak

02.先將用戶的數據移動到tmp目錄下

cd /application/nginx/html/blog/wp-content/uploads

mv 2017/ /tmp/nfsbak/

03.進行軟件安裝

yum install nfs-utils -y

04.檢查是否支持掛載

showmount -e 172.16.1.31

05.掛載上傳目錄到nfs上及查看是否掛載成功

cd /application/nginx/html/blog/wp-content

mount -t nfs 172.16.1.31:/data ./uploads

df -h

06.進行測試

a.web01端

  [root@web01 uploads]# touch a.txt

  [root@web01 uploads]# ll

  total 0

  -rw-r--r-- 1 nfsnobody nfsnobody 0 Sep 13 15:40 a.txt

b.nfs01端

  [root@nfs01 data]# ll

  total 0

  -rw-r--r-- 1 nfsnobody nfsnobody 0 Sep 13 15:40 a.txt

07.最後,將用戶的數據移動到upload目錄下

mv /tmp/nfsbak/2017/ /application/nginx/html/blog/wp-content/uploads/



最終:

web數據庫停掉,開啓db01數據庫


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章