預習 資料庫遷移與建立NFS服務

2021-09-24 09:39:42 字數 4521 閱讀 5878

是指一組通常一起使用來執行動態**或者伺服器的自由軟體名稱首字母縮寫。l指linux,n指nginx,m一般指mysql,也可以指mariadb,p一般指php,也可以指perl或python。

第乙個歷程:將資料進行備份(web)

1.打包 + 定時任務 +rsync

2.備份:

備份全部表:

mysqldump -uroot -p -a >/root/all.sql

備份wordpress表:

mysqldump -uwordpress -p123456 -a >/root/wordpress.sql

3.備份並壓縮

mysqldump -uroot -p -a|gzip >/root/all-gzip.sql.gz
4.將備份的資料庫恢復:

mysql -uroot -p 第二個歷程:將資料進行遷移(web)

scp -rp /tmp/bak.sql 172.16.1.51:/root/

第三個歷程:將資料進行恢復(db01)

安裝 yum install -y mariadb-server mariadb

重啟 systemctl start mariadb.service

自啟 systemctl enable mariadb.service

將資料恢復 mysql -uroot 第四個歷程: 對資料進行檢查(mysql)

檢視資料庫資訊 show databases;

檢視使用者資訊 select user,host from mysql.user;

第五個歷程:關閉web伺服器上本地資料庫服務,連線新的資料庫服務(web)

systemctl stop mariadb.service

systemctl disable mariadb.service

wordpress: 

find . -type f -name '*.php'|xargs grep -i "123456"

vim /usr/share/nginx/html/blog/wp-config.php

/** mysql hostname */

define( 'db_host', '172.16.1.51' );

wecenter:

find . -type f -name '*.php'|xargs grep -i "123456"

./system/config/database.php

'host' => '172.16.1.51',

第七個歷程:配置資料庫使用者授權資訊

grant all on wecenter.* to 'wecenter'@'172.16.1.%' identified by '123456';

grant all on wordpress.* to 'wordpress'@'172.16.1.%' identified by '123456';

wordpress儲存使用者上傳資料資訊位置:wp-content/uploads

wecenter儲存使用者上傳資料資訊位置:uploads/article/

第乙個歷程:部署搭建nfs伺服器(nfs01)

[root@nfs01 ~]

# rpm -qa nfs-utils

[root@nfs01 ~]

# mkdir -p /data/

[root@nfs01 ~]

# chown nfsnobody.nfsnobody /data/*

[root@nfs01 ~]

# ll /data/

total 0

drwxr-xr-x 2 nfsnobody nfsnobody 6 jun 9 13:31 blog

drwxr-xr-x 2 nfsnobody nfsnobody 19 jun 9 13:34 zh

[12:

47 root@nfs01 ~

]# vim /etc/exports

#nfs with blog

/data/blog 172.16

.1.0/24

(rw,all_squash,sync)

#nfs with zhihu

/data/zh 172.16

.1.0/24

(rw,all_squash,sync)

[root@nfs01 ~

]# systemctl reload nfs

[root@nfs01 ~

]# showmount -e localhost

export list for localhost:

/data/zh 172.16

.1.0/24

/data/blog 172.16

.1.0

/24

將本地資料進行遷移(blog):

[root@web01 blog]

# pwd

/usr/share/nginx/html/blog

[root@web01 blog]

# mv wp-content/uploads/* /tmp/blog_tmp/

[root@web01 blog]

# ll wp-content/uploads/

total 0

[root@web01 blog]

# ll /tmp/blog_tmp/

total 0

drwxr-xr-x 3 nginx nginx 16 jun 6 19:40 2019

將本地資料進行遷移(zh):

[root@web01 zh]

# pwd

/usr/share/nginx/html/zh

[root@web01 zh]

# mkdir /tmp/zh_tmp

[root@web01 zh]

# mv uploads/article/* /tmp/zh_tmp/

[root@web01 zh]

# ll uploads/article/

total 0

[root@web01 zh]

# ll /tmp/zh_tmp/

total 0

drwxr-xr-x 2 nginx nginx 50 jun 9 11:54 20190609

第三個歷程:

掛載blog:

mount -t nfs 172.16.1.31:/data/blog /usr/share/nginx/html/blog/wp-content/uploads

掛載zh:

mount -t nfs 172.16.1.31:/data/zh /usr/share/nginx/html/zh/uploads/article

第四個歷程:將原有備份儲存資料遷移還原

[root@web01 blog]

# mv /tmp/blog_tmp/* /wp-content/uploads/

[root@web01 zh]

# mv /tmp/zh_tmp/* uploads/article/

常見問題:nfs伺服器被掛載上之後,使用者無法上傳資料

直接修改nfs伺服器配置檔案新增引數資訊(/etc/exports)

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

修改nfs服務端儲存目錄許可權(和worker程序使用者保持一致)

chown -r nginx.nginx /data/

如果造成root使用者無法儲存資料,修改配置檔案:

/data/blog 172.16.1.0/24(rw,sync,anonuid=worker程序使用者uid,anongid=worker程序使用者gid

資料庫遷移

這期專案,需要將另外乙個系統a與現有系統b整合,由於時間比較緊,直接採用遷移oracle資料庫物件的方式,發現之前評估的方案不是特別完善,首先 1 a資料庫為gbk編碼,b資料庫是utf 8編碼格式,a資料遷移需要進行中文字段擴容 至少1.5倍 2 a資料庫需要做效能評估,歷史資料遷移涉的方式,兼顧...

資料庫遷移

資料庫遷移 在開發過程中,需要修改資料庫模型,而且還要在修改之後更新資料庫。最直接的方式就是刪除舊表,但這樣會丟失資料。更好的解決辦法是使用資料庫遷移框架,它可以追蹤資料庫模式的變化,然後把變動應用到資料庫中。在flask中可以使用flask migrate擴充套件,來實現資料遷移。並且整合到fla...

資料庫遷移

1,增加遷移 如果你已經建好了表,你想在這個表中新增屬性,但是有不能回滾,這就需要單獨遷移了。1 rails generate migration addpartnumbertoproducts 這個命令生成乙個空的遷移,但名字已經起好了 class addpartnumbertoproducts ...