éå»10幎éã§ãMySQLã¯ãããäžã§éåžžã«äººæ°ãé«ãŸã£ãŠããŸãã åWordPressããã°ã¯ããã¹ãŠã®æçš¿ãèšå®ãã³ã¡ã³ããªã©ãä¿åããMySQLããŒã¿ããŒã¹ã«åºã¥ããŠããŸãã
ãã©ã°ã€ã³ãããããããã¯ïŒãã³ãŒãæ¿å ¥ãã奜ãïŒã§ãåé¡ã解決ã§ããŸãããSQLã¯ãšãªãphpMyAdminã«å ¥åããããSSHçµç±ã§ããŒã¿ããŒã¹ã«çŽæ¥å ¥åãã以å€ã«æ¹æ³ããªãå ŽåããããŸãã ããã§ã¯ãWordPressããŒã¿ããŒã¹ã®8ã€ã®äŸ¿å©ãªããªãã¯ãèŠãŠã¿ãŸãããã
1.ããŒã¿ããŒã¹ã®ããã¯ã¢ãããäœæãã
åé¡ ã ãã®èšäºã®ãã³ãã¯ãã¹ãæžã¿ã§ãããMySQLããŒã¿ããŒã¹ã®ããã¯ã¢ãããäœæããåã«å®è·µããã¹ãã§ã¯ãããŸããïŒæ±ºããŠããããŸãã...ïŒ
解決ç ã ããŒã¿ããŒã¹ãæåã§ããã¯ã¢ããããã«ã¯ã次ã®ç°¡åãªæé ã«åŸããŸãã
1.æåã«phpMyAdminã«ãã°ã€ã³ããããã§WordPressããŒã¿ããŒã¹ãéžæããå¿ èŠããããŸãã
2.æ°Žå¹³ã¡ãã¥ãŒã«ããããšã¯ã¹ããŒãããã¿ã³ãã¯ãªãã¯ããŸãã
3.ããŒã¿å§çž®æ¹æ³ïŒç§ã¯å人çã«gzipã䜿çšããŠããŸãïŒãéžæãããå®è¡ããã¿ã³ãã¯ãªãã¯ããŸãã
4.ããã¯ã¢ãããããŠã³ããŒããããã©ããããã©ãŠã¶ãå°ããŸãã ãã¡ããããã¯ãããšãã£ããèšã£ãŠãã³ã³ãã¥ãŒã¿ãŒã®ã©ããã«ãã¡ã€ã«ãä¿åããŸãã
ã泚æ ç¹å¥ãªWP-DB-Backupãã©ã°ã€ã³ã䜿çšãããšãWordPressããŒã¿ããŒã¹ã®ããã¯ã¢ããã³ããŒãäœæããæ¹ãã¯ããã«äŸ¿å©ã§ãã WordPressãŠãŒã¶ãŒã¯ããªãããã®çç±ã§ãŸã ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããŠããªãå Žåãããããããšãªããã®ãã©ã°ã€ã³ãä»ããã€ã³ã¹ããŒã«ã§ããŸãã
2.ã¬ã³ãŒããªããžã§ã³ã®äžæ¬åé€
åé¡ ã ãã¹ããªããžã§ã³ã¯ãããŒãžã§ã³2.6以éã®æ°ããWordPressæ©èœã§ãã ããã¯éåžžã«äŸ¿å©ã§ãããMySQLããŒã¿ããŒã¹ã®ãµã€ãºãå¢ããããšãã§ããŸãã ãã¡ããã管çè ããã«ããæçš¿ãªããžã§ã³ãæåã§åé€ã§ããŸãã ããããããã¯éåžžã«é·ãéå±ã§ãã ããè¯ã解決çããããŸãã
解決ç ã ãããŠãåé¡ã®è§£æ±ºçã¯éåžžã«ç°¡åã§ããç§ãã¡ã¯ãããã§ããã€ãŸãããã¹ãŠãäžæ°ã«è¡ãããåçŽãªSQLã¯ãšãªã䜿çšããŠæçš¿ãªããžã§ã³ãåé€ããŸãã å€æ°ã®ãšã³ããªãããå Žåãçµæã¯é©ãã¹ããã®ã«ãªããŸãã ããŒã¿ããŒã¹ã2å倱ãããå¯èœæ§ããããŸãïŒ
1. phpMyAdminã«ãã°ã€ã³ããããã§WordPressããŒã¿ããŒã¹ãéžæããå¿ èŠããããŸãã
2.次ã«ããSQLããã¿ã³ãã¯ãªãã¯ããŸãã 次ã®ã¯ãšãªãæ¿å ¥ããå¿ èŠããããŠã£ã³ããŠã衚瀺ãããŸãã
DELETE FROM wp_posts WHERE post_type = "revision";
3.ããã ãã§ãïŒ ã¬ã³ãŒãã®æ°ã«å¿ããŠã貎éãªæéãå€§å¹ ã«ç¯çŽããããŒã¹ãã¯ãªãŒã³ã¢ããããŸããã
ã³ãŒãã®èª¬æ ã wp_postsããŒãã«ã«ã¯post_typeãšãããã£ãŒã«ãããããŸãã ãã®ãã£ãŒã«ãã«ã¯ã post ã pageãŸãã¯revisionãªã©ãå€ãã®æå³ããããŸã ã ã¬ã³ãŒãã®ãªããžã§ã³ãåé€ããå Žåã¯ãã³ãã³ããå®è¡ããŠã ãªããžã§ã³å€ãããpost_typeãã£ãŒã«ãã®wp_postsããŒãã«å ã®ãã¹ãŠã®å€ãåé€ããŸãã æ¹æ³ã¯æ¬¡ã®ãšããã§ãã
3. 1ç§ã§5000件ã®ã¹ãããŒã³ã¡ã³ããåé€ããŸã
åé¡ ã å®è©±ïŒç§ã®å人ã¯æè¿åœŒèªèº«ã®ããã°ãéããã€ã³ã¿ãŒãããäžã§ç©æ¥µçã«ãããä¿é²ãå§ããŸããã æ°é±éã«ãããéäžçãªäœæ¥ã®åŸã圌ã¯ãããã¯ãŒã¯ãªãã§äŒæã«æ°æ¥ééãããŸããã
圌ã家ã«æ»ã£ãŠèªåã®ããã°ãèŠããšãã圌ã¯ç®¡çãåŸ ã£ãŠãã5000以äžã®æçš¿ãèŠãŸããïŒ ã«ãªãæ¹æ³
解決ç ã 幞ããªããšã«ãç§ã®å人ã¯ãã¯ãœã¹ãããŒã®åé¡ã«ã€ããŠè©±ããŠãããŸããã ç§ã¯åœŒã«éåžžã«æçšãªããªãã¯ã瀺ããã®ã§ã圌ã¯ãã§ã«æåã§ã¹ãã ããã§ãã¯ããŠé€å»ããã®ã«45åãè²»ãããŠããŸãã
1. phpMyAdminã«ãã°ã€ã³ããããã§WordPressããŒã¿ããŒã¹ãéžæããŸãã
2. [SQL]ãã¿ã³ãã¯ãªãã¯ããŸãã 次ã®ã¯ãšãªãæ¿å ¥ããå¿ èŠããããŠã£ã³ããŠã衚瀺ãããŸãã
DELETE from wp_comments WHERE comment_approved = '0';
3.ãããŠãã¹ãããŒã«å¥ããåããŸãïŒ æž æœããšå¿«é©ããã楜ãã¿ãã ãã...
説æ ã wp_commentsããŒãã«ã«ã¯ãããŒã«å€ïŒ1ãŸãã¯0ïŒãæ ŒçŽããcomment_approvedãã£ãŒã«ããå«ãŸããŠããŸãã æ¿èªæžã¿ã®ã³ã¡ã³ãã®å€ã¯1ã§ãã¢ãã¬ãŒããåŸ æ©ããŠããã³ã¡ã³ãã¯0ã§ããäžèšã®ã³ãã³ãã¯ãæ¿èªãããŠããªãã³ã¡ã³ããåã«åé€ããŸãã ãã¹ãŠãã·ã³ãã«ã§ãã
ãããã泚æããŠãã ããïŒ ãã®ãœãªã¥ãŒã·ã§ã³ã¯ãç¡æ°ã®ã¹ãã ã³ã¡ã³ããèªåçã«åé€ããã®ã«æé©ã§ãããæ¿èªãããŠããªãéåžžã®ã³ã¡ã³ããåé€ããŸãã Akismetã®ãããªãã©ã°ã€ã³ããŸã 䜿çšããŠããªãå Žåã¯ãããã°ã®ã¹ãã ãé²ãããã«å§ããŸãããã
4.ã¬ã³ãŒãå±æ§ãå€æŽããæ¹æ³
åé¡ ã WordPressãã€ã³ã¹ããŒã«ãããšãããã©ã«ãã®ç®¡çè ã¢ã«ãŠã³ããäœæãããŸãã äžéšã®ããã¬ãŒã¯ããã®ã¢ã«ãŠã³ãã䜿çšããŠæçš¿ãäœæãããšãããã¹ãç¯ãããããäœããã®åœ¢ã§é¡ã®èŠããªãããšã«æ°ä»ããŸã§å€±æããŸãã
解決ç ã åãšã³ããªã®äœæè ã®å±æ§ãå€æŽããã«ã¯æéãããããŸãã 幞ããªããšã«ãSQLã¯ç§ãã¡ãå©ããããšãã§ããŸãïŒ
1. phpMyAdminã«ãã°ã€ã³ããããã§WordPressããŒã¿ããŒã¹ãéžæããŸãã
2.æåã«ãæ£ãããŠãŒã¶ãŒIDã決å®ããå¿ èŠããããŸãã ãSQLããã¿ã³ãã¯ãªãã¯ããŠãã ããã 次ã®ã¯ãšãªãæ¿å ¥ããå¿ èŠããããŠã£ã³ããŠã衚瀺ãããŸãã
SELECT ID, display_name FROM wp_users;
3. phpMyAdminã¯ãWordPressãŠãŒã¶ãŒã«é¢é£ä»ããããŠãããèå¥åãã®ãªã¹ãã衚瀺ããŸãã ã¡ãªã¿ã«ãNEW_AUTHOR_IDã¯æåŸã«äœæãããäœæè ã®IDãOLD_AUTHOR_IDã¯å ã®ç®¡çè ã¢ã«ãŠã³ãã®IDã§ãã
4.ãèå¥åãNEW_AUTHOR_IDããã³OLD_AUTHOR_IDãç¹å®ãããã次ã®ã³ãã³ããå®è¡ããŸãã
UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
5.ããã ãã§ãã 管çè ã¢ã«ãŠã³ãã«ãªã³ã¯ããããã¹ãŠã®ãšã³ããªã¯ãéžæãããŠãŒã¶ãŒã®ããããã£ã«ãªããŸãã
5.ãã¹ã¯ãŒãã®ãªã»ãã
åé¡ ã ããã°ãä¿è·ããããã«ãå€ãã®å Žåã7 * KoF5i8_ãªã©ã®åŒ·åãªãã¹ã¯ãŒããéžæããŸãã ãã¡ããããã¯ç§°è³ã«å€ããŸããã誰ãã管çè ããã¹ã¯ãŒããå¿ããæ¹æ³ã«ã€ããŠå€ãã®è©±ãèããŠããŸã:)
解決ç ã ãã¹ã¯ãŒããå¿ããå ŽåãWordPressã¯ãã¹ã¯ãŒãããªã»ããããããã®ãªã³ã¯ãã¡ãŒã«ã§éä¿¡ã§ããŸãã ãã ããWordPressããŒã¿ããŒã¹ã§æå®ãããŠããç³é¹žã«ã¢ã¯ã»ã¹ã§ããªãå ŽåããŸãã¯åé¡ãäœããã®æ¹æ³ã§è§£æ±ºã§ãããšæãããå Žåã¯ã次ã®æ¹æ³ã§ããããã³ã°ãããããšãã§ããŸãã
1. phpMyAdminã«ãã°ã€ã³ããããã§WordPressããŒã¿ããŒã¹ãéžæããŠãSQLãŠã£ã³ããŠãéããŸãã
2.次ã®ã³ãã³ããå ¥åããŸãïŒãŠãŒã¶ãŒåããadminãã§ããããšãèæ ®ããŠïŒïŒ
UPDATE 'wp_users' SET 'user_pass' = MD5('PASSWORD') WHERE 'wp_users'.'user_login' = 'admin' LIMIT 1;
3.ããã§ãã¹ãŠã§ãã ãã¹ã¯ãŒãã¯ããPASSWORDããšããŒã¯ãããå Žæã§æå®ãããã¹ã¯ãŒãã«æ£åžžã«æŽæ°ãããŸãã
説æ ã ãŠãŒã¶ãŒãã¹ã¯ãŒãã¯wp_usersããŒãã«ã«æ ŒçŽãããŸã ã ãã¡ãããMD5ããã·ã¥ã¯è¡šç€ºããä¿è·ããããã«äœ¿çšãããŸãã
SQLã¯ãšãªãUPDATEããéä¿¡ããçµã¿èŸŒã¿ã®MySQLé¢æ°MD5ïŒïŒã䜿çšããŠãã¹ã¯ãŒããMD5ã«å€æããæŽæ°ããŸããã ãWHEREãã䜿çšãããšã管çè ãã¹ã¯ãŒãã®ã¿ãæŽæ°ãããŸãã åããªã¯ãšã¹ãã§ããããWHEREããã©ã¡ãŒã¿ã䜿çšããã«ãããŒã¿ããŒã¹å ã®ãã¹ãŠã®ãã¹ã¯ãŒããæŽæ°ããŸãïŒ
6.ãã¡ã€ã³åãå€æŽãã
åé¡ ã ããã¯ãå§ãããŸããããããæç¹ã§ããã°ã®ãã¡ã€ã³åãå€æŽããåæã«ãã¹ãŠã®ããŒã¿ãä¿åãããå ŽåããããŸãã WordPressã¯ãã¡ã€ã³åãããŒã¿ããŒã¹ã«ä¿åãããããæ°ãããã¡ã€ã³ãšWordPressããã°ããªã³ã¯ããã«ã¯ãããŒã¿ããŒã¹ããããã«å€æŽããå¿ èŠããããŸãã
解決ç ã
1.ãæ³åã®ãšãããphpMyAdminã«ãã°ã€ã³ããããã§WordPressããŒã¿ããŒã¹ãéžæããŠãSQLãŠã£ã³ããŠãéããŸãã
2. WordPress URLãå€æŽããã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸãã
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsite.com', 'http://www.newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
3.次ã«ãåãšã³ããªã®çžå¯ŸURLïŒGUIDïŒã眮ãæããå¿ èŠããããŸãã 次ã®ã³ãã³ãã§ãããè¡ããŸãã
UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','http://www.newsite.com');
4.ããã§ã»ãŒçµããã§ãã 説åŸåã®ãããšã³ãã£ã³ã°ã®ããã«wp_postsããŒãã«å ã®çµ¶å¯ŸURLãèŠã€ããŠçœ®ãæããã ãã§ãã
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');
5.ããããããã¯ãã§ã«çµããã§ãã æ°ããURLã䜿çšããŠãããã°ã®ç®¡çããã«ã«ã¢ã¯ã»ã¹ã§ããŸãã
7.ããã°ã®SQLã¯ãšãªã®æ°ã衚瀺ããŸãã
åé¡ ã ããã°ã®èªã¿èŸŒã¿æéãæé©åããããšãããšãããŒã¿ããŒã¹ã¯ãšãªã®æ°ãç¥ãããšãéåžžã«åœ¹ç«ã¡ãŸãã ãªã¯ãšã¹ãã®æ°ãæžããããã«æåã«ããããšã¯ãããŒãžã§çºçãããªã¯ãšã¹ãã®æ°ã調ã¹ãããšã§ãã
解決çã 楜ããïŒphpMyAdminã«ã¢ã¯ã»ã¹ããå¿ èŠã¯ãããŸãã:) footer.phpãã¡ã€ã«ãéããŠç·šéãïŒãããã¯ã«ééããããŸããïŒã次ã®ã³ãŒãè¡ãè¿œå ããã ãã§ãã
<?php if (is_user_logged_in()) { ?>
<?php echo get_num_queries(); ?> <?php timer_stop(1); ?> .
<?php } ?>
ãã¡ã€ã«ãä¿åããŠãããã°ã«ã¢ã¯ã»ã¹ããŠãã ããã ãå°äžå®€ãã«ã¯ãWordPressããŒã¿ããŒã¹ãžã®ã¯ãšãªã®æ°ãšãã¯ãšãªã®äœæã«ããã£ãæéã衚瀺ãããŸãã
ã泚æ å€ãã®WordPressãŠãŒã¶ãŒããã®çŽ æŽãããæ©äŒã«æ°ä»ããŠããªããšããå°è±¡ãåããŸããã get_num_queriesïŒïŒé¢æ°ã¯ãããŒãžã®ããŒãæã«çæããããªã¯ãšã¹ãã®æ°ãè¿ããŸãã
ããã°ã®ã²ã¹ããšæ€çŽ¢ãããã¯ãã®æ å ±ãç¥ãå¿ èŠããªããããäžèšã®ã³ãŒãã¯ãã°ã€ã³ãããŠãŒã¶ãŒã®ã¿ã«ãªã¯ãšã¹ãã®æ°ã衚瀺ããããšã«æ³šæããŠãã ããã ãã ããã³ãŒãããæ¡ä»¶ä»ãifïŒis_user_logged_inïŒïŒïŒã¹ããŒãã¡ã³ããåé€ããã ãã§ããããã³ã°ãå ¬éã§ããŸãã
8.ããŒã¿ããŒã¹ã埩å ãã
åé¡ ã ããšãã°ãããã¯ãæŽæ°ã®åé¡ãªã©ã®äœããã®çç±ã§ãããã°ã®ããŒã¿ã倱ããããã絶æçã«ç ŽæãããããããšããããŸãã ããã¯ã¢ããã³ããŒãããå ŽåïŒçå®ã¯æ£ããã§ããïŒïŒããããWordPressããŒã¿ããŒã¹ã«ã€ã³ããŒãããå¿ èŠããããŸãã ãããŠããã¹ãŠãããŸããããŸãã æãå¯èœæ§ãé«ãã
解決ç ã
1. phpMyAdminã«ãã°ã€ã³ããããã§WordPressããŒã¿ããŒã¹ãéžæããŸãã
2.æ°Žå¹³ã¡ãã¥ãŒã®ãã€ã³ããŒãããã¿ã³ãã¯ãªãã¯ããŸãã
3. [åç §]ãã¿ã³ãã¯ãªãã¯ããŠããã£ã¹ã¯ããããŒã¿ããŒã¹ã®ææ°ã®ã³ããŒãéžæããŸãã
4. [å®è¡]ãã¿ã³ãã¯ãªãã¯ããŸãïŒå®è¡ïŒã ãã¹ãŠãããŸããããç¥ãããªãã®å³æ¹ã«ãªã£ãããããŒã¿ããŒã¹ã¯åã³å®å šã«æ©èœããŸãã
ãã®æçš¿ã¯ã æçšãªWordPress SQL Hacksã®èšäº8ã®ç¡æ翻蚳ã§ãã åäœè ã®ãžã£ã³ã»ãããã£ã¹ãã»ãŠã³ã°ã«æè¬ããŸãã ãã®æçš¿ã¯WordPressã®åå¿è ã察象ãšããŠããŸããæšå¥šäºé ã誰ãã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã