iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 28
0
自我挑戰組

30天學會用FreeBSD & Apache架網站系列 第 28

【Day28】架設MySQL

通常Apache會跟一些軟體組合,並稱FAMP(LAMP):
F(L):FreeBSD(Linux)
A:Apache
M:MySQL
P:PHP
看的出來我們還差一個吧!所以今天就要搞定最後一個MySQL啦~

MySQL是甚麼

在裝東西之前總要先知道他是幹嘛用的吧XD
他是一個開源的關聯式資料庫管理系統
解釋一下關聯式資料庫管理系統,英文是Relational Database Management System,RDBMS。會把資料以表格的方式儲存,以便查詢,而且會有一個語法,讓你可以互動來查詢,在MySQL就是SQL語法啦。

裝MySQL

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

對這個標題就是一個指令喔:
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,超可愛的啦~

一點點一點點的MySQL語法

跟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的資料表,裡面有authorISBN兩項,而他們的預設值就是Unknown。

DROP TABLE [IF EXISTS] [table name]:
刪除資料表
嗯看起來我的實力就只夠如此了呢QQ

PHP連接MySQL

最後補充一下這個,PHP有提供函式可以連接:
$conn = mysqli_connect($servername, $username, $password);
語法是這樣,函式就是mysqli_connect()。以我們剛剛設的為例:
$conn = mysqli_connect("localhost", "root", "passwd")
以後就會連接上,以後如果用到WordPress之類的時候也會看到甚至改到,那時候的username可能就會是wordpress之類的。
W3school有關於這個的說明(傳送門),我剛剛講的是procedural的。

今日小結

今天就裝了一下MySQL,不會很難,難的是他的語法,上面講的都只是皮毛到不行的皮毛,但是看起來就已經很複雜了,這就是我們明天要講的東西:簡單快速的對付MySQL,敬請期待!


上一篇
【Day27】架PHP
下一篇
【Day29】架設phpMyAdmin
系列文
30天學會用FreeBSD & Apache架網站30

尚未有邦友留言

立即登入留言