是指一組通常一起使用來執行動態**或者伺服器的自由軟體名稱首字母縮寫。l指linux,n指nginx,m一般指mysql,也可以指mariadb,p一般指php,也可以指perl或python。第乙個歷程:將資料進行備份(web)1.打包 + 定時任務 +rsync
2.備份:3.備份並壓縮備份全部表:
mysqldump -uroot -p -a >/root/all.sql
備份wordpress表:
mysqldump -uwordpress -p123456 -a >/root/wordpress.sql
4.將備份的資料庫恢復:mysqldump -uroot -p -a|gzip >/root/all-gzip.sql.gz
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 ...