數據庫遷移操作
準備環境
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數據庫