问题产生原因: 如果更改为域名(例如未进行备案域名) 因域名无法直接访问, 模拟请求过程
解决方案
查看正在运行的 docker进程
$ docker ps
进入docker镜像内部
$ docker exec -it fId bash
如果启动镜像时指定name 则可以以name方式进入
$ docker exec -it wp(启动时候的名称) bash 进入docker
fId 为运行时第一个 12 位字母数字混合组合
当看到 /$ 代表以及在此项 docker 中,exit 退出
3. 登入 MySql, 进入数据库,执行更新命令
$ mysql -uroot -p 如启动用户名不一样则 mysql -u 用户名 -p
显示 mysql > 则代表以进入
$ show databales; 查看所有的库
$ use wordpress; 进入 wordpress 显示 Database changed 代表切换成功
进入库后 (必须切换要操作的库), 执行命令
查看所有的表 wp_options 中
$ show tables;
查看表中数据当前是什么
$ select * from wp_option where option_id=1;
如忘记设置什么 这样查看 一般都是第一个option_value中域名
$ select * from wp_otion where option_value=‘从仪表盘设置的域名/IP’;
$ select * from wp_otion where option_value link ‘%xx%’; 模糊查询 %是匹配所有前面有东西的
更新命令 UPDATE 表名称 SET 字段=值 where 约束更改那些
$ UPDATE wp_options SET option_value = replace( option_value, 'http://旧域名', 'http://新域名' ) WHERE option_name = 'home' OR option_name = 'siteurl';
$ UPDATE wp_posts SET post_content = replace( post_content, 'http://旧域名', 'http://新域名' ) ;
$ UPDATE wp_posts SET guid = replace( guid, 'http://旧域名', 'http://新域名' ) ;
$ UPDATE wp_comments SET comment_content = replace(comment_content, 'http://旧域名', 'http://新域名') ;
$ UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'http://旧域名', 'http://新域名') ;启动时IP使用127.0.0.1 / localhost / 0.0.0.0 管理界面初始化时访问失败 Docker-Wordpress连接 Docker-mysql
创建一个 docker新网络 查看docker IP后重新启动
$ docker network create docker-mysql-net2. 查看网络IP ifconfig 并记住 尝试使用新建的ip去连接
$ WORDPRESS_DB_HOST=172.18.0.1:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=123456-e WORDPRESS_DB_NAME=wordpress-p 8050:80 -d hub.c.163.com/library/wordpress
注意其他配置都和之前运行一样 但是WORDPRESS_DB_HOST使用ifconfig查看的docker IP 启动上述尝试之后还是无法解决排除问题
尝试 root 连接
mysql -h0.0.0.0 -uroot -p密码root可连接,但是自己新建的账号无法连接
mysql -h0.0.0.0 -uroot -p 密码2. 授权
grant all privileges on `数据库名称`.* to '用户名称'@'%' ;