我們上次討論的是怎麼設置 Apache2。設置一台伺服器的下一步就是裝與設置 MariaDB。MariaDB 就是一種資料庫的軟體。在 Debian10 裡,SQL 的預設後設套裝軟體叫做 mysql-server, 並且它會裝的就是 MariaDB,但是為了未來的相容性我們應該打的命令就是:
sudo apt install mariadb-server
裝好後,我鍵議您執行 MariaDB 包括着的腳本。它會消除一些不保全的設定,與限制資料庫的進接。要執行這個腳本就打:
sudo mysql_secure_installation
這個腳本會顯示幾個提示,幫你設置您的資料庫。第一個提示就會問您的資料庫 ROOT 密碼。因為我們剛剛裝了這個資料庫它還沒有什麼 ROOT 密碼;在這裡您只需要打進入鍵。下一個提示會問您要不要選一個 ROOT 密碼。因為 MariaDB 有一個特別的 ROOT 用戶鑑別方法,您不需要選一個密碼。打 N 再打進入鍵。
從這裡打 Y 在打進入鍵來接受預設的設定。腳本會消除佚名用着,試的資料庫,與使失效遠程存取。它還會重新資料庫的服務,趕快的應用腳本的變化。腳本完成後,由下面的命令來登入 MariaDB 的控制台:
sudo mariadb
這樣會用 ROOT 用戶連接到 MariaDB。連接的輸出在下面:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 14081
Server version: 10.3.22-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
您注意吧,我們不用什麼密碼連接 ROOT 用戶的帳戶。原因在於 ROOT 用戶的預設鑑別方法不是 ‘密碼’ 而是 ‘UNIX-插座’。意思是,除非什麼帳戶有 sudo 特權還有是從控制台連接的或者是什麼有 ROOT 特權的應用軟體的,它才能這樣連接。
為了提高保全,MariaDB 所有的資料庫都應該有它們自己的帳戶,而且各個帳戶的特權又應該有限。為了演示一下這個設置,我們會創造例子的資料庫與例子用着。第一,在 MariaDB 控制台裡寫下面的命令再打進入鍵:
CREATE DATABASE example_database;
第二,用下面的命令創造新的用着,而給它資料庫的完全特權。這個例子是說用着的密碼是 ‘password’ 可是您應該選自己的秘密。
GRANT ALL ON example_database.* TO 'example_user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
例子用着就會有例子資料庫的完全特權,並且例子用着也不會創造新的資料庫,又不會改變別的資料庫。
要趕快應用這些變化,就用下面的命令:
FLUSH PRIVILEGES;
執行好後,就離開 MariaDB:
exit
現在我們可以由登入我們的資料庫來試一試例子用着的特權。這一次,用我們剛剛創造的帳戶。
mariadb -u example_user -p
注意這個 ‘-p’。它的意思就是提示問帳戶的密碼。您登入後,確定您會不會進接例子資料庫:
SHOW DATABASES;
輸出會這樣:
+--------------------+
| Database |
+--------------------+
| example_database |
| information_schema |
+--------------------+
2 rows in set (0.000 sec)
再一次離開 MariaDB。
恭喜您!MariaDB 就準備好了!
下一次,我們就會設置 PHP。下次見!
Comments