1.先备份mysql内数据
导出所有数据(生产环境中数据较多,不建议一次导出所有)
- 1.导出并压缩
[root@test01 ~]# mysqldump -uroot -p -A >gzip /tmp/all.sql.gz
- 2.传输到新数据库主机上
scp -P22 /tmp/all.sql.gz root@172.16.1.51:/root
2.新数据库服务器准备工作
- 1.解压接收到的sql文件
[root@db01 ~]# gzip -d all.sql.gz
- 2.导入数据库并在数据库中检查是否导入
[root@db01 ~]# mysql -uroot -p <all.sql
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wordpress |
+--------------------+
5 rows in set (0.05 sec)
MariaDB [(none)]> show tables from wordpress;
+-----------------------+
| Tables_in_wordpress |
+-----------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
+-----------------------+
12 rows in set (0.01 sec)
- 3.刷新权限
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
3.修改网站代码里的配置,指定访问至新数据库服务器
生产中,要向开发人员要此文件,此示例使用开源wodpress软件所以指定修改此配置文件
[root@test01 blog]# vim /application/nginx-1.14.2/html/blog/wp-config.php
[root@test01 blog]# grep "DB_HOST" wp-config.php
define('DB_HOST', '172.16.1.51'); #主机名修改为新服务器ip地址
4.关闭被迁移的数据库
数据库已完成迁移,但用户上传的图片等也要迁移至nfs服务器中
5.图片等导入nfs
- 1.找出 网站用户上传目录
/app/blog/wp-content/uploads - 2.先把原来的上传目录内容移动出来
[root@test01 blog]# mv /application/nginx-1.14.2/html/blog/wp-content/uploads/ /tmp/
[root@test01 blog]# ll -d /tmp/uploads/
drwxr-xr-x 3 www www 18 Feb 24 15:47 /tmp/uploads/
- 3.nfs服务器配置
root@nfs01 ~]# systemctl enable nfs.service rpcbind
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@nfs01 ~]# systemctl restart nfs.service rpcbind
[root@nfs01 ~]# systemctl is-enabled nfs.service rpcbind
enabled
enabled
[root@nfs01 ~]# systemctl is-active nfs.service rpcbind
active
active
-4.修改nfs服务器nfs配置
[root@nfs01 ~]# mkdir -p /nfsbackup
[root@nfs01 ~]# id www
uid=888(www) gid=888(www) groups=888(www)
[root@nfs01 ~]# chown -R www.www /nfsbackup/
vim /etc/exports
#share /nfsbackup to web server
/nfsbackup 172.16.1.0/24(rw,sync,all_squash,anonuid=888,anongid=888)
[root@nfs01 ~]# systemctl reload nfs
[root@nfs01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/nfsbackup 172.16.1.0/24
/app/w 172.16.1.0/24
/app/r 172.16.1.0/24
/data 172.16.1.0/24
- 5.在被迁移服务器上挂载
mkdir -p /app/blog/wp-content/uploads
mount -t nfs 172.16.1.31:/nfsbackup /application/nginx-1.14.2/html/blog/wp-content/uploads/
[root@web01 blog]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 2.3G 46G 5% /
devtmpfs 988M 0 988M 0% /dev
tmpfs 998M 0 998M 0% /dev/shm
tmpfs 998M 9.2M 989M 1% /run
tmpfs 998M 0 998M 0% /sys/fs/cgroup
/dev/sda1 1014M 124M 891M 13% /boot
tmpfs 200M 0 200M 0% /run/user/0
172.16.1.31:/nfsbackup 48G 3.0G 45G 7% /application/nginx-1.14.2/html/blog/wp-content/uploads/
- 6.在原来移出的数据移动回来
mv /tmp/uploads/* /application/nginx-1.14.2/html/blog/wp-content/uploads/