通过mysql更新url信息,实测完成

WordPress后台更新url和站点的时候,出现了系统性错误,url是IP地址而不是我想要的域名,这样的显示显然不利于识别和网站收录,更新url为域名势在必行。我主要参照了两个思路,并且第二个测试完成。

第一个思路尝试的就是在主题neve中更新function.php,网站可以查阅,但是格式变的杂乱,wordpress后台也无法登录。。。我只能佯装镇定。随后登录阿里云ECS后台,点开目录树,偶然找到function.php文件,然后快速将添加的两行代码删除,而后保存,随后网站恢复。Thank Goodness.
第二个思路就是通过mysql去更新相关命令。我通过查阅相关帖子,看到一个介绍说可以通过mysql进行更新wordpress url信息,于是就着手尝试,但是开始就被拦住了。。因为我根本不懂数据库,更不知道如何去操作mysql了,事已至此,只能硬着头皮上了。

输入 mysql -u root -p

之后提示下面的内容,密码不对,一时间陷入死循环。我压根没有印象有跟mysql相关的信息。在这里暂停了超过24个小时而无从下手。

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using passwor:yes)

后来无意看了下wp-config.php 才发现这是个宝库啊。。不仅有数据库密码,也有用户名,果断再次尝试。顺利登录mysql,看到了Welcome to the MySQL monitor 的界面。接下来就是在mysql更新 wordpress URL的详细步骤。

 

步骤 1 登录 mysql,密码可以在 “wp-config.php”,找到,同时看到数据库相关信息。
*
* 本文件包含以下配置选项:
*
* *&nbspMySQL设置
* * 密钥
* * 数据库表名前缀
* *&nbspABSPATH
[root@iZ6a3b4oz2y3pbZ ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12967
Server version: 5.6.34 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
步骤 2 使用wordpress
命令行:
mysql> USE wordpress; 

enter确认,系统输出–

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

步骤 3 调出WP_options value 表格 ,可以看到option value 就是wordpress的URL,autoload的是IP地址,而不是域名。
命令行:

mysql> select * from wp_options limit 1;

enter 确认,输出如下如下内容
+———–+————-+———————-+———-+
| option_id | option_name | option_value         | autoload |
+———–+————-+———————-+———-+
|         1 | siteurl     | http://47.104.216.39 | yes      |
+———–+————-+———————-+———-+
1 row in set (0.00 sec)

步骤 4、修改数据库,将表中的siteurl和home字段修改为当前的新域名。

命令行:

mysql>  UPDATE wp_options SET option_value=replace(option_value,’http://47.104.216.39′,’http://www.huaihaixiang.com’) WHERE option_name=’home’ OR option_name=’siteurl’;

enter确认,输出

Query OK, 2 rows affected (0.00 sec)

Rows matched: 2  Changed: 2  Warnings: 0
返回网站,输入网址,相关链接已经是域名显示,不再是IP地址了。

看到网站会突然瘫痪,就自然想到了数据备份。我在wordpress安装插件UpdraftPlus Backup/Restore,进行简单配置后,对网站进行备份设置,同时开启阿里云快照,在ECS上也进行备份。这点后面单独细说,帮了我的大忙,否则真是一个打击,这次事件,让我真正体会到了备份的必要性。

另外,有大神说wp-config.php文件也可以更新wordpress URL,此次暂未测试。

感谢Jack Cui  和另外一位博主的文字指导。

坤德拉

2020年3月27日

 

 


发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注