通常Apache會跟一些軟體組合,並稱FAMP(LAMP):
F(L):FreeBSD(Linux)
A:Apache
M:MySQL
P:PHP
看的出來我們還差一個吧!所以今天就要搞定最後一個MySQL啦~
在裝東西之前總要先知道他是幹嘛用的吧XD
他是一個開源的關聯式資料庫管理系統
解釋一下關聯式資料庫管理系統,英文是Relational Database Management System,RDBMS。會把資料以表格的方式儲存,以便查詢,而且會有一個語法,讓你可以互動來查詢,在MySQL就是SQL語法啦。
pkg install mysql56-server
今天的只要裝一個就好囉,跟昨天相比真是輕鬆不少。
然後MySQL也是一個daemon,所以我們也要去rc.conf
加上:mysql_enable="YES"
弄好之後就可以:service mysql-server start
或是/usr/local/etc/rc.d/mysql-server start
然後應該會出現Starting mysql.
對就是這麼簡潔XD
但是還沒結束,沒有這麼簡單的~
對這個標題就是一個指令喔:mysql_secure_installation
他第一個問題會問你:Enter current password for root (enter for none):
這邊就直接Enter就好了,顯然才剛裝沒有密碼。
再來會遇到:Set root password? [Y/n]
問你說要不要設密碼呢?要。
然後他就會叫你打新密碼進去,還有確認密碼的部分,最後就會有一些是非題:Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
就全部都Y
就可以了。
弄完之後我們要用mysql -u root -p
來測試一下,如果打密碼進去可以進到MySQL而且亂打進不去的話,那就是成功了,可以exit
出來,而且他會跟你說Bye,超可愛的啦~
跟PHP一樣,我都不算熟,所以只能講一些些基本且必須的語法。CREATE DATABASE [IF NOT EXISTS] [database name]
:
建一個資料庫,[IF NOT EXISTS]
是為了讓他不要跑錯誤。
DROP DATABASE [IF NOT EXISTS] [database name]
:
刪除資料庫,一樣他的[IF EXISTS]
也是為了不要跑錯誤。
CREATE TABLE [IF NOT EXISTS] [table name] ([definition])
:
建立資料表(就是表格),資料庫就是由很多資料表組成的。而後面的definition則是定義(我硬翻的),他就是表格的一個個標籤,像是作者、ISBN、出版日期、售價之類的東西。
舉個例子:CREATE TABLE IF NOT EXISTS books (author char(64), ISBN char(64), DEFAULT "Unknown")
這樣就會生出一個叫做books
的資料表,裡面有author
、ISBN
兩項,而他們的預設值就是Unknown。
DROP TABLE [IF EXISTS] [table name]
:
刪除資料表。
嗯看起來我的實力就只夠如此了呢QQ
最後補充一下這個,PHP有提供函式可以連接:$conn = mysqli_connect($servername, $username, $password);
語法是這樣,函式就是mysqli_connect()
。以我們剛剛設的為例:$conn = mysqli_connect("localhost", "root", "passwd")
以後就會連接上,以後如果用到WordPress之類的時候也會看到甚至改到,那時候的username
可能就會是wordpress
之類的。
W3school有關於這個的說明(傳送門),我剛剛講的是procedural的。
今天就裝了一下MySQL,不會很難,難的是他的語法,上面講的都只是皮毛到不行的皮毛,但是看起來就已經很複雜了,這就是我們明天要講的東西:簡單快速的對付MySQL,敬請期待!