我們上次討論的是怎麼設置 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。下次見!

Last modified: February 12, 2021

Author

Comments

Write a Reply or Comment

Your email address will not be published.