탕자! 탕자가 돌아왔다! (부제: 워드프레스 비번상실기)
지난 며칠간 멘붕이었다. 블로그 서버이전을 하면서, 서버설정을 다 못마친 상태로 취침에 들었는데, 어드민 정보를 설정하면서 클립보드에 저장되어있던 값이 비밀번호로 세팅되어버렸다. 1password 를 이용하고 있으니, 임의사용 비번의 히스토리를 당연히 저장하고 있을거라고 생각했는데… 없다. 아무것도 로그인되지 않는다.
워드프레스.org 사이트에서는 여섯가지 방법을 안내한다.
- 로그인해서 바꿔라 → 야!
- 비밀번호 찾기를 통해 바꿔라 → 이메일 서버 설정이 안되었단말야!
- MySQL 커맨드라인으로 바꿔라 → 어떻게 하는건지 이해가 안된다.
- phpMyAdmin 을 깔아서 바꿔라 → 디지털오션에서 myPhpAdmin 을 설치하는걸 알아본다. 그만 알아보자. 아무리 읽어도 모르겠다.
- FTP로 올려봐라 → 이건 또 몰까..
- WP CLI 로 바꿔라 → 디렉토리로 이동하라는데 어떻게 하는거야
교훈 : 개발 못하는 사람은 설치형 워드프레스 쓰지 말자.
일단 심호흡을 하자. 🧘♀️ 서버에 접근하는 건 SSH 로 가능한 상태라 열심히 검색했다. 그리고 Reset WordPress User Password Via Shell (SSH) 라는 글을 발견했다. 터미널을 통해 접속하니, 사이트 설정이 더 필요하다는 메세지가 출력됐다.
This setup requires a domain name. If you do not have one yet, you may cancel this setup, press Ctrl+C. This script will run again on your next login -------------------------------------------------- Enter the domain name for your new WordPress site. (ex. example.org or test.example.org) do not include www or http/s -------------------------------------------------- Domain/Subdomain name:
이미 설정 다했는데.. 왜 도메인을 또 입력하라고 하는거야.. 잠깐 동공지진이 일었다. 👀 어차피 로그인 못하면 버려야 할테니 일단 서비스 설정과 동일하게 입력했다. 혹시나 꼬일까봐.. 기도했던 메시지가 출력됐다 Complete!
Installation complete. Access your new WordPress site in a browser to continue.
하지만 여기다 뭘 치란 건지 모르겠다 ㅠㅠ 이게 뭐하는 짓이야 ㅠㅠ
root@minieetea.com:~# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.
오 성공했다? 그리고 순서대로 하나씩 커맨드를 입력해본다.
mysql> use wordpress Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
아무래도 쿼리하는 화면으로 바뀌게 되니, 뭔가 잘 되고 있다는 확신이 든다.
mysql> show tables; +----------------------------+ | Tables_in_wordpress | +----------------------------+ | wp_commentmeta | | wp_comments | | wp_links | | wp_nf3_action_meta | | wp_nf3_actions | | wp_nf3_chunks | | wp_nf3_field_meta | | wp_nf3_fields | | wp_nf3_form_meta | | wp_nf3_forms | | wp_nf3_object_meta | | wp_nf3_objects | | wp_nf3_relationships | | wp_nf3_upgrades | | wp_options | | wp_postmeta | | wp_posts | | wp_short_link_clicks | | wp_short_link_replacements | | wp_short_links | | wp_term_relationships | | wp_term_taxonomy | | wp_termmeta | | wp_terms | | wp_usermeta | | wp_users | +----------------------------+ 26 rows in set (0.01 sec)
사용자를 찾는다! (아래 출력된 비밀번호는 123456789을 암호화해서 넣었다.)
mysql> select id, user_login, user_pass from wp_users; +----+------------+------------------------------------+ | id | user_login | user_pass | +----+------------+------------------------------------+ | 1 | minieetea | 6ebe76c9fb411be97b3b0d48b791a7c9 | +----+------------+------------------------------------+ 1 rows in set (0.00 sec)
그래그래 잘하고 있어!!
비밀번호는 DB에 md5 로 암호화 되어 저장되어 있기 때문에, 설정을 원하는 비밀번호를 굳이 md5로 바꿔줘야한다. 글에 링크되어 있는 곳에 가서 무사히 변환~ (아래 출력된 비밀번호는 98765421을 암호화해서 넣었다.)
mysql> update wp_users set user_pass="25f9e794323b453885f5181f1b624d0b" where id =1; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
오오 바꼈어! 그럼 다시 조회해서 성공했는지 보자.
mysql> select id, user_login, user_pass from wp_users; +----+------------+------------------------------------+ | id | user_login | user_pass | +----+------------+------------------------------------+ | 1 | minieetea | 25f9e794323b453885f5181f1b624d0b | +----+------------+------------------------------------+ 1 rows in set (0.00 sec)
크~ 그리고 지금 이렇게 로그인에 성공하여 블로그로 삽질기를 남겨둔다는 후문이다. 정리하고보니 워드프레스.org 에서 얘기한 3번 방법었구나. Step1 부터 읽어보고 스킵했는데, 그 아래에
Note: if you have a recent version of MySQL (version 5.x?) you can have MySQL compute the MD5 hash for you.
1. Skip step#1 above.
라고 써있다. 정말, 불친절한것에 친절하다. 위에 써놔야지 위에!!