# 建立資料庫:
MariaDB [(none)]> CREATE database testdb;
Query OK, 1 row affected (0.00 sec)
# 查看目前 MariaDB 有哪些資料庫:
MariaDB [(none)]> SHOW databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| testdb |
+--------------------+
4 rows in set (0.00 sec)
# 刪除資料庫
MariaDB [(none)]> DROP database testdb;
Query OK, 0 rows affected (0.00 sec)
# 選擇資料庫:
MariaDB [(none)]> USE mysql;
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
# 查看目前 MariaDB 有哪些 Tables:
MariaDB [mysql]> SHOW tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| column_stats |
| columns_priv |
| db |
| event |
| func |
| general_log |
| gtid_slave_pos |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| index_stats |
| innodb_index_stats |
| innodb_table_stats |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| roles_mapping |
| servers |
| slow_log |
| table_stats |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
30 rows in set (0.00 sec)
# 查看 user table 中的 Column:
MariaDB [mysql]> DESCRIBE user;
+------------------------+-----------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(80) | NO | PRI | | |
| Password | char(41) | NO | | | |
... 過多省略 ...
# 找出 user table 中 User column 的資料
MariaDB [mysql]> SELECT User FROM user;
+------------------+
| User |
+------------------+
| root |
| root |
| root |
| debian-sys-maint |
| root |
+------------------+
5 rows in set (0.00 sec)
# 找出 user table 中 Host、User 與 Password column 的資料
MariaDB [mysql]> SELECT Host, User, Password From user;
+-----------+------------------+-------------------------------------------+
| Host | User | Password |
+-----------+------------------+-------------------------------------------+
| localhost | root | *2570FCDBE0283D9FCA2B9DX93A6262953E8ABD0F |
| debianvm | root | *2570FCDBE0283D9FCA2B9DX93A6262953E8ABD0F |
| 127.0.0.1 | root | *2570FCDBE0283D9FCA2B9DX93A6262953E8ABD0F |
| ::1 | root | *2570FCDBE0283D9FCA2B9DX93A6262953E8ABD0F |
| localhost | debian-sys-maint | *43C6D9242EF1FA173B6CA4B7EC85CAFF50846EAE |
+-----------+------------------+-------------------------------------------+
5 rows in set (0.00 sec)
# 使用 DISTINCT 將重複的資料刪除
MariaDB [mysql]> SELECT DISTINCT USER FROM user;
+------------------+
| USER |
+------------------+
| root |
| debian-sys-maint |
+------------------+
2 rows in set (0.00 sec)
# 僅顯示查詢結果的前 2 行
MariaDB [mysql]> SELECT USER from user LIMIT 2;
+------+
| USER |
+------+
| root |
| root |
+------+
2 rows in set (0.00 sec)
# 查詢 SHOW 指令的用法
MariaDB [(none)]> HELP SHOW
Name: 'SHOW'
Description:
SHOW has many forms that provide information about databases, tables,
columns, or status information about the server. This section describes
those following:
SHOW AUTHORS
SHOW {BINARY | MASTER} LOGS
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
SHOW CHARACTER SET [like_or_where]
... 過多省略 ...
這是一份筆記,專門紀錄 towns 在操作時需要的語法、指令或操作方式,還有更多的資料分散在茫茫網海中等待大家的發覺,感謝每一位大大無私的奉獻
教學網站:http://www.hmes.kh.edu.tw/~jona/redhat/mysqlphp/mysqlsyntax.htm
官方語法說明:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html
1、設定管理帳號:(mysql在安裝後,會建立一個root帳號,不過,沒有密碼)
mysqladmin -u root password abc123 <==設定root帳號,密碼為abc123
2、列出mysql現行環境
mysqladmin variables -u root -p <==使用指令
mysql>show variables; <==使用mysql語法
3、登入mysql資料庫
mysql -u root -p towns <==使用root帳號,登入towns資料庫
mysql -h localhost -u root -p towns <==使用root帳號登入本機端的towns資料庫, 做網路管理時,-h很重要
4、建立資料庫
4.1 mysql -u root -p <==使用root登入mysql
4.2 打入root密碼
4.3 create database towns; <==使用mysql語法,新增towns這個資料庫,“;”一定要加
4.4 mysqladmin -u root create cacti -p <==也可以用指令建立資料庫
4.4 create database towns_test default character set utf8 default collate utf8_general_ci; <==建立towns_test資料庫並預設使用utf8_general_ci編碼
5、刪除資料庫
5.1 mysql -u root -p <==使用root登入mysql
5.2 打入root密碼
5.3 drop database towns; <==使用mysql語法,刪除towns這個資料庫,“;”一定要加
6、列出現有資料庫
6.1 mysql -u root -p <==使用root登入mysql
6.2 打入root密碼
6.3 show databases;
6.4 mysql -e "show databases; " -p <==用指令顯示資料庫
6.5
------------------------------------------------------------------------------------------------------------------------------------
6.1 mysqlshow -u root -p <==使用root登入mysql,並列出所有的資料庫
6.2 mysqlshow -u root -p towns <==使用root登入mysql,並列towns資料庫中的資料表
6.3 mysqlshow -u root -p towns towns <==使用root登入mysql,指定towns資料庫,並列出towns資料表
資料來源:http://tsuozoe.pixnet.net/blog/post/21283890
7、匯入資料庫
7.1 需先建立資料庫(如4),可以看一下,dump下來的語法中,是否有下 CREATE DATABASE,有就不用建了
7.2 mysql -u root -p abc <'/home/towns/abc/abc.sql' <== 將 abc.sql 匯入 abc 資料庫中
7.3 mysql -u root -p -A abc <'/home/towns/abc/abc.sql' <== 將 abc.sql 匯入 abc 資料庫中
-A。--no-auto-rehash,不重新處理,這樣的匯入速度比較快,不過,適用於無資料的情形
8、匯出資料庫
8.1 資料庫需存在
8.2 mysqldump -u root -p abc >'/home/towns/abc/abc.sql' <==將abc資料庫匯出到abc.sql檔案
8.3 mysqldump -u root -p -d abc > '/home/towns/abc/abc.sql' <==將abc資料庫的結構匯出到abc.sql檔案
關於mysqldump的詳細說明
失落的紀錄 番茄大的文章
http://zlnet.net/blog/?p=915
9、新增使用者(需先登入mysql server)
9.1 使用grant新增
9.1.1 grant all on abc.* to towns identified by 'abc123' with grant option;
建立towns使用者具有abc資料庫完整的管理權,密碼為abc123
9.1.2 grant all on abc.* to towns@localhost identified by 'abc123' with grant option;
建立本機端towns使用者具有abc資料庫完整的管理權,密碼為abc123
9.1.3 grant all on *.* to towns@localhost identified by 'abc123' with grant option;
建立本機端towns使用者具有所有資料庫完整的管理權,密碼為abc123
9.1.3.1 grant all on *.* to towns@localhost identified by 'abc123';
與上面的方法相同,獨缺“允許特權”
9.2 使用INSERT
9.3 CREATE USER
9.3.1. CREATE USER 'towns'@'localhost' IDENTIFIED BY 'abc123'
建立本機端towns使用者,密碼為abc123。權限仍需使用grant建立
--------------------------------------------------------------------------------------------
9.4 變更密碼
9.4.1 grant all on *.* to towns@localhost identified by '123abc' with grant option;
將towns使用者的密碼,由abc123變成123abc
9.4.2 SET PASSWORD FOR 'root'@'localhost.localdomain' = PASSWORD( '*******' )
SET PASSWORD FOR 'root'@'localhost' = PASSWORD( '*******' )
10、刪除使用者
10.1 DELETE FROM mysql.user WHERE User='towns' ;
刪除使用者towns
10.2 DROP USER test@localhost;
11、登入資料庫帳號、密碼常見檔案位置
12、更新資料庫資料(在做任何更動後,建議要使用這指令)
12.1 flush privileges;
13、在作業系統中,檢查權限之命令
13.1 mysqlaccess localhost user mysql -U root -P abc123 <==檢查user帳號的權限
13.2 mysqlaccess localhost towns abc123 -U root -P abc123 <==檢查towns帳號的權限
13.3 mysqlaccess localhost towns -U root -P <==檢查towns帳號的權限,會要求打入root 密碼
14、權限管理
14.1 grant SELECT,INSERT,UPDATE on abc.* to towns@localhost identified by 'abc123';
開放三種權限(SELECT,INSERT,UPDATE)給towns(本機端)
14.2 開放多個資料庫(abc1、test、abc)給一個帳號(towns)管理,需一條一條加
grant all on abc1.* to towns@localhost identified by 'abc123';
grant all on test.* to towns@localhost identified by 'abc123';
grant all on abc.* to towns@localhost identified by 'abc123';
--------------------------------------------------------------------------------------------
14.3 權限
資料庫(DateBase),十五種權限:
ALL PRIVILEGES、ALTER、CREATE、DELETE、DROP、FILE、INDEX、INSERT、PROCESS、REFERENCES、RELOAD、SELECT、SHUTDOWN、UPDATE、USAGE
資料表(Table),八種權限:
SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、INDEX、ALTER
資料欄(column),三種權限:
SELECT INSERT UPDATE
修改權限
14.4 REVOKE 權限 ON 資料庫(或資料表TABLE) TO user@host IDENTIFIED BY '密碼';
GRANT ALL PRIVILEGES ON `abc` . * TO abc@% WITH GRANT OPTION ;
DROP USER towns@';
DROP USER test@localhost';
---------------------------------------------------------------------------------------------
CREATE USER test@localhost IDENTIFIED BY '********';
GRANT USAGE ON *.* TO test@localhost IDENTIFIED BY '********' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
SET PASSWORD FOR root@localhost = PASSWORD( '*********' ) <==在資料庫中修改密碼方式
16.忘記root密碼處理方式
Linux:
1.使用root登入
2.停止mysql服務(for redhad base)
service mysqld stop
3.使用mysqld_safe指令
mysqld_safe --skip-grant-tables &
此時,會開啟一個安全模式,並停住
4.開新的ssh,用root登入系統
5.使用mysql帳號登入mysql中
6.變更mysql中root密碼
update user set password = password('abc123') where user = 'root';
7.離開mysql
8.重新啟動mysql
9.使用root新密碼登入mysql
-----------------------------------------------------------------------------------------------
Windows:
1.用系統管理員登陸系統。
2.停止MySQL的服務。
3.進入命令視窗,然後進入MySQL的安裝目錄,比如我的安裝目錄是c:\mysql,進入C:\mysql\bin
4.跳過許可權檢查啟動MySQL,
c:\mysql\bin>mysqld-nt --skip-grant-tables
5.重新打開一個視窗,進入c:\mysql\bin目錄,設置root的新密碼
c:\mysql\bin>mysqladmin -u root flush-privileges password "198651"
c:\mysql\bin>mysqladmin -u root -p shutdown
將newpassword替換為你要用的root的密碼,第二個命令會提示你輸入新密碼,重複第一個命令輸入的
密碼。
6.停止MySQL Server,用正常模式啟動Mysql
7.你可以用新的密碼連結到Mysql了。
命令:
net mysql start 啟動MYSQL
net stop mysql 停止MYSQL
下面以在Windows系統上為例,linux上將步驟 4 的mysqld-nt換為safe_mysqld即可
1 、停止mysql5服務:
net stop mysql5
2、開一個DOS視窗執行:
http://www.mscto.com
c:\mysql\bin>mysqld-nt --skip-grant-tables &
3、再開一個DOS視窗執行:
c:\mysql\bin>mysql mysql
> update user set password = password('123456') where user = 'root';
root密碼即為設置為123456!
4、啟動mysql5服務:
net start mysql5
相關資料:http://www.mscto.com/MySQL/20080731665.html
17.顯示目前mysql連線的threads狀態
mysql>show processlist; <==使用mysql語法
mysqladmin processlist -u root -p <==使用指令
18.列出MySQL目前的狀態
mysql> show status; <==使用mysql語法
mysqladmin status -u root -p <==使用指令(結果不同)
19.列出mysql的使用者
SELECT User FROM mysql.user;
帳號管理
mysql中,帳號可設為僅本機使用、僅網路使用、兩者皆可,與mysql安全性有關
mysql>grant all on *.* to towns@localhost identified by 'abc123' with grant option;
利用語法建立towns可以管理所有資料庫、只能本機連線,擁有最大權限
mysql>grant all on *.* to towns@localhost identified by 'abc123';
利用語法建立towns可以管理所有資料庫、只能本機連線,少了grant權限,其他都有
mysql>grant all on *.* to towns@ identified by 'abc123' with grant option;
利用語法建立towns可以管理所有資料庫、能外部及本機連線,擁有最大權限
mysql>grant all on *.* to towns identified by 'abc123' with grant option;
利用語法建立towns可以管理所有資料庫、能外部及本機連線,擁有最大權限
towns@locahost <==只能本機連線
towns@192.168.8.176 <==只能192.168.8.176連線,用於限制帳號連線IP
towns@127.0.0.1 <==只能本機連線
towns@locahost.localdomain <==只能本機連線
towns@ <==不限制連線來源,危險的設定,不過local不能連
towns <==不限制連線來源,危險的設定
註:使用 towns@ 及 towns 在 mysql5 以上的版本會發生仍無法遠端連線,因為 mysql5 以上的版本多加了兩個特別的帳號,@localhost 及 @[hostname],這兩組帳號在我們設定帳號時,如果沒有給尾巴,會自動加上去,造成帳號不論local 或 遠端都無法連入
19.1. mysql -e "GRANT ALL PRIVILEGES ON test.* TO test@localhost IDENTIFIED BY 'test' ; "
利用指令來新增帳號
20.顯示資料庫資料
1. 更換資料庫
登入mysql後,選用某個資料庫
mysql> use test; <==連入test資料庫
2 .顯示資料庫的資料表(需先選好資料庫,才能show tables)
mysql> show tables;
mysql -e "use test; show tables; -p <==直接使用指令下SQL語法,並使用root登入(沒設user預設為root)
3. 顯示特定資料表中的欄位
mysql> describe table_name;
mysql> show columns from table_name;
參考資料:http://www.xspace.idv.tw/bo_blog/read.php?32
21.免密碼登入mysql資料庫(用於資料庫定期備份等……)
1.vim ~/.my.cnf
[client]
password=YOUR_MYSQL_PASSWORD
2.chmod 600 ~/.my.cnf
設定完成後,直接使用mysql -u [user],就可以登入了
資料來源:http://plog.longwin.com.tw/my_note-unix/2009/04/09/mysql-login-backup-script-no-password-2009
22. 關於帳號問題:當建立最大權限帳號後,該帳號無法本機登入
1. 安裝後系統自動產生的帳號,兩個空白(@localhost、@localhost.localdomain)及三個root (root@localhost、root@127.0.0.1、root@localhost.localdomain)帳號
2. 此時 root 帳號可以本機登入,不可遠端登入
3. 建立 towns 帳號後(建立最大權限帳號),towns 只能遠端登入,無法本機登入
4. 建立 towns@localhost 帳號,towns 可以本機登入
兩個空白帳號為安全性帳號,當我們使用towns登入時,沒寫完整帳號,會自動帶入@localhost,導致最大權限帳號無法本機登入,將兩個空白帳號刪除後,最大權限帳號(towns),就可以本機登入了。而這兩個空白帳號 towns 是透過第三方軟體,才刪除的
23. mysql 連線數設定
Linux 系統:my.cnf 檔中預設並無此參數,需手動加入
設定 /etc/my.cnf
max_connections=100 <==連線上限100
max_user_connections=15 <==使用者連線上限15
也可以設定單一帳號最大連線數,登入mysql後使用語法修改
grant all on *.* to towns with MAX_USER_CONNECTIONS 15 ; <== towns帳號最大連線數為15
windows 系統:在安裝設定時configuration Wizard即有詢問Concurrent Conections,自定值可到1400
設定 C:\Program Files\MySQL\MySQL Server 5.1\my.ini
max_connections=2037 <==連線上限 2037
資料來源:
http://ssorc.tw/rewrite.php/read-639.html
http://kiki.longwin.com.tw/?p=16
24. 使用phpmyadmin 設計資料庫
教學:http://sofree.cc/phpmyadmin-mysql/
25. 改變mysql 預設參數
需修改 /etc/my.cnf檔
例1:變更預設封包大小(max_allowed_packet)
在[mysqld] 下面加入一行
max_allowed_packet = 20M
存檔後,重新啟重mysql
使用mysqladmin variables -u root -p 確認 預設封包值是否已變更
例2:變更資料庫預設語(character_set_server),這個只有mysql 4 才須要改
character_set_server = utf8
存檔後,重新啟重mysql
使用mysqladmin variables -u root -p 確認character_set_server 及 character_set_database 是否變為 utf8
註:不同的下指令方式得到不同的結果
towns 使用 mysqladmin variables -u root -p 出現了以下五個值皆改為UTF8
character_set_client
character_set_connection
character_set_database
character_set_results
character_set_server
towns 登入資料庫後(mysql -u root -p),再使用 show variables;,得到以下結果
character_set_client ==> latin1
character_set_connection ==> latin1
character_set_database ==> utf8
character_set_results ==> latin1
character_set_server ==> utf8
26. 資料庫編碼轉換問題
這個問題只會出現在 mysql 4版中
1.登入資料庫 mysql -u *** -p
2.下指令 SET NAMES utf8;
將character_set_client、character_set_connection、character_set_results改為 UTF8,這個是臨時性的修改
3. 再匯入資料(INSERT)
相關資料:感謝前輩說明 http://chiouss0817.wordpress.com/2006/05/15/internal-charset-conversion-of-mysql/
27. 免密碼登入mysql
這個在備份時很好用
vim /home/towns/.my.cnf <==建立或編輯.my.cnf檔
[client] <== 加入這兩行,[ ]中是打下密碼
password= [mysql password]
chmod 600 ~/.my.cnf <==調整檔案權限
註:請使用該使用者的帳號登入mysql,不要在root下使用mysql -u towns,這樣是沒用的
相關資料:http://blog.longwin.com.tw/2009/04/mysql-login-backup-script-no-password-2009/
28. mysql 效能觀察與調整
相關資料:
http://forum.slime.com.tw/thread208416.html
http://portable.easylife.tw/2074
http://blog.xuite.net/huenlil/note/5877606
29. Mysql UTF-8 中文排序問題
towns在匯資料到Mysql資料庫中,如果欄位資料為中文UTF-8,會出現排序異常的情形,找了一些資料提供大家參考
1.SELECT * FROM `test` ORDER BY CONVERT(`name` USING big5) DESC
2.
註:DESC為大到小,ASC為小到大
coolhd大的blog http://www.ezdiy.org/forum/viewtopic.php?id=392
KKonline大的blog http://kkonline.pixnet.net/blog/post/34095805-mysql%E4%B8%AD%E7%9A%84utf8%E4%B8%AD%E6%96%87%E6%8E%92%E5%BA%8F%E7%9A%84%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%A1%88
30. mysqladmin 指令使用
mysqladmin -V <== 列出mysql版本
mysqladmin -u root -p processlist <== 列出目前mysql的執行程序
mysqladmin -u root -p kill [ID] <== 中斷指定程序
mysqladmin -u root -p reload <== 重新載入資料庫
mysqladmin -u root -p flush-privileges <== 重新載入資料庫(登入資料庫後可以這麼用flush privileges;)
mysqladmin -u root -p ping <== 測試資料庫是否活著
mysqladmin -u root -p variables <== 查看mysql環境
資料來源:PHP 5.0 動態網頁入門實務
31. 資料表的修復與優化
有時因為資料增加的太快或太多,會造成特定資料表因使用超出限制的空間造成資料表損壞,這時MySQL會自動鎖住資料表讀寫權限,處理方式就是使用 REPAIR TABLE 及 OPTIMIZE TABLE 兩個資料庫指令
使用方式
1. 使用指令
1.1. 登入資料庫 mysql -u [使用者名稱] -p(帳號必需有權限管理該資料庫)
1.2. 更換資料庫 use [資料庫名稱];
1.3. REPAIR TABLE [資料表名稱];、OPTIMIZE TABLE [資料表名稱];
2. 非登入指令
2.1. mysql -e "use [資料庫名稱]; REPAIR TABLE [資料表名稱]; OPTIMIZE TABLE [資料表名稱];" -u [使用者名稱] -p[密碼]
3. 使用phpmyadmin
登入後點選指定資料庫 ==> 勾選要處理的資料表 ==> 下方有一個 “選中項” 的下拉式選單,點選 “修復表” 及 “最佳化表”,完成
註1:如果要定期執行,第二個方式做cron處理
註2:密碼與參數p,不能有空格
相關資料:
Tsung's大的blog http://blog.longwin.com.tw/2009/02/php-mysql-all-database-optimize-repair-2009/
Mr. Big大的blog http://mrbignose.blogspot.tw/2010/07/mysql-repair-table-optimize-table.html
32. 修改mysql預設的資料庫路徑
vi /etc/my.cnf
[mysqld] <== 在這之下
datadir= [路徑] <== 加入這一段,路徑請自取
註1:修改後資料匣權限要設為 mysql:mysql,並設為 755
註2:如有啟用SeLinux,記得要變更權限
註3:如果資料庫已運行中改了路徑並resstart,會變成新的資料庫
33. 變更資料庫名稱
指令:ALTER TABLE oldname RENAME TO newname
phpmyadmin:點一下指定資料庫的小圖,就可以看到 將資料庫改名為:
34. 變更資料庫表稱
指令:ALTER TABLE oldname RENAME TO newname
資料來源:謝晒大的blog
http://seanphpbook.blogspot.tw/2012/04/mysql.html
35. mysql的一些語法及編碼轉換問題
詳細說明關於mysql的一些語法及編碼轉換問題
資料連結:右腦大的blog
http://yoonow.pixnet.net/blog/post/11140434-mysql%E5%8D%87%E7%B4%9A%E5%8F%8A%E7%B7%A8%E7%A2%BC
36. Centos 7版,改用mariadb,與mysql完全相同,只是改名了
37. 查看指定帳號權限
show grants for root@localhost; <== 查看 root@localhost 帳號權限
show grants; <== 查看登入帳號的權限
38. Mariadb-server 安全性設定
在 Mariadb-server 5.5 版中,有一個 script ,mysql_secure_installation,這個 script 做了幾個動作。這個還蠻方便的呢!
1. 建立 root 密碼
2. 移除匿名帳號
3. 設定 root 不可遠端登入
4. 刪除測試資料庫
5. 重新載入使用者權限
參考資料:
IT 技術家 -- heracles Jam 大的文章
http://blog.itist.tw/2016/01/installing-lemp-stack-with-centos-7-nginx-mariadb-php-7.html
39. 列出執行序
MariaDB [(none)]> show processlist
參考資料:lan 大資料
http://ianjung1974.blogsport.tw/2008/05/mysql-show.html
40. MySQL 5.1 中文參考手冊
http://twpug.net/docs/mysql-5.1
41. 使用 MySQL 產生 MD5 加密的密碼或寫入時產生 MD5 加密密碼
1. select MD5('test') <== 將 test 使用 MD5 加密,並列出來
2. insert into tbl(col1, col3, col5) values (1, md5('test'), 'hello'); <== 直接寫入指定表格,欄位2使用 MD5 加密
3. update user set password=md5('result') where username='result'; <== 更新mysql 使用者使用者帳密
4. select count(*) from user where name='test' and password= MD5('123456'); <== 核對mysql 使用者帳密,正確會回應 1
參考資料:
小雨大口述
隨風而行大的 blog
http://result945.pixnet.net/blog/post/27077947-mysql-%E5%AF%86%E7%A2%BC%E4%BD%BF%E7%94%A8md5%E5%8A%A0%E5%AF%86
弱雞王大的 blog
https://dotblogs.com.tw/rockywang/2010/01/13/12996