搭建流程一览
这里使用的是 docker 搭建法,让服务器安全性更高一些
拉取镜像
docker pull wordpress:latest docker pull mysql:latest
运行镜像
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=root用户密码 -d mysql docker run --name some-wordpress --link some-mysql:mysql -p 8080:80 -d wordpress
配置 WordPress
现在就可以访问 8080 端口来安装 WordPress 了
Error establishing a database connection
在我访问网站的时候看到了这个页面,并没有安装页面
之后了解到是因为我安装了 mysql 8.0 的缘故,处理流程如下:
进入mysql容器 docker exec -it mysql /bin/bash 登陆数据库 mysql -u root -p use mysql; 开启root远程访问权限 grant all on *.* to 'root'@'%'; 修改加密规则 alter user 'root'@'localhost' identified by 'root用户密码' password expire never; 更新密码 alter user 'root'@'%' identified with mysql_native_password by 'root用户密码'; 刷新权限 flush privileges;
迁移流程一览
备份两个镜像,在本地导入,镜像是最初始的东东,所以不会有啥多余的东西
备份 wordpress 数据库
在 vps 上运行命令:
mysqldump -uroot -p wordpress > ./wordpress.dump docker cp [container_id]:/wordpress.dump ./wordpress.dump
在本机运行命令:
docker cp ./wordpress.dump [container_id]:/wordpress.dump mysql -u root -p wordpress < ./wordpress.dump
镜像内若是没有 wordpress 数据库可以自己先新建一个,再导入
更换数据库内的后台及链接 ip 为本机
进入 mysql 的 docker,启动 mysql,输入如下命令:
use wordpress; update wp_options set option_value = replace(option_value,'binlep.top','192.168.190.130:8080') where option_name = 'home' or option_name = 'siteurl';
以上命令就可以让你在本机登录后台了,如果想更换类似图片,视频这样的链接,可以再运行这些 mysql 命令:
update wp_posts set post_content = replace(post_content,'binlep.top','192.168.190.130:8080'); update wp_comments set comment_content = replace(comment_content,'binlep.top','192.168.190.130:8080'); update wp_comments set comment_author_url = replace(comment_author_url,'binlep.top','192.168.190.130:8080');
备份 wp-content
在 vps 上运行命令:
docker cp [container_id]:/var/www/html/wp-content/ ./wp-content zip wp-content.zip -r ./wp-content
在本机 docker 容器内运行命令:
rm -rf /var/www/html/wp-content/
在本机内运行命令
unzip wp-content.zip docker cp ./wp-content/ [container_id]:/var/www/html/wp-content/
之后再进入容器,输入如下命令:
chown -R www-data /var/www/html/wp-content chgrp -R www-data /var/www/html/wp-content chmod 755 /var/www/html/wp-content
这样就能把目录的文件权限配置好了