這裡介紹如何在 CentOS Linux 7 中安裝 MySQL/MariaDB 資料庫。

MySQL 資料庫分家之後,社群版本變成 MariaDB,不過目前大部分的指令都沒有變。以下我以 CentOS Linux 內建的 MariaDB 套件示範 CentOS Linux 安裝與設定 MySQL/MariaDB 資料庫的過程。

安裝 MySQL/MariaDB 資料庫

先更新 CentOS Linux 系統上的套件:

sudo yum update

安裝 MariaDB 伺服器:

sudo yum install mariadb-server

啟用 MariaDB 的 service(讓開機自動啟動):

sudo systemctl enable mariadb

立即啟動 MariaDB 的 service:

sudo systemctl start mariadb

檢查 MariaDB 伺服器是否有正常啟動:

systemctl status mariadb

預設的 MariaDB 只能從 localhost127.0.0.1)連線,因為安全性的因素,通常不建議隨便開放外面的存取。

剛安裝好 MariaDB 時,建議執行一次 mysql_secure_installation 這個安全性設定工具:

sudo mysql_secure_installation

這個設定工具可以幫助管理者設定 root 密碼、移除匿名登入帳號、禁止 root 從遠端登入、移除測試用的資料庫。

使用 root 帳號登入 MariaDB 伺服器:

mysql -u root -p

正常的話,就會進入 MySQL/MariaDB 互動式的操作畫面:

MySQL/MariaDB 互動式操作畫面

新增 MySQL/MariaDB 資料庫與使用者

先在 MySQL/MariaDB 中建立一個資料庫(database):

create database testdb;

然後新增一個使用者帳號,並設定密碼:

create user 'testuser'@'localhost' identified by 'password';

設定 testuser 這個帳號可以使用 testdb 這個資料庫:

grant all on testdb.* to 'testuser'@'localhost';

新增完成後,就可以離開 MySQL/MariaDB 了。

exit

新增資料表

在建立好資料庫之後,接著就要依照自己的需求來建立資料表,以下是典型的資料表建立流程,請視自己的狀況來修改程式碼。

使用 testuser 帳號登入 MySQL/MariaDB 資料庫:

mysql -u testuser -p

選擇使用 testdb 資料庫:

use testdb;

建立自己的資料表:

create table Persons (
  PersonID int,
  LastName varchar(255),
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255)
);

檢查資料表:

show tables;

確認無誤後,離開 MySQL/MariaDB:

exit

匯入 *.sql

如果要從其他的 MySQL/MariaDB 將資料複製過來,可將舊的資料庫匯出成 *.sql 檔,然後在 Linux 的 shell 中將資料匯入:

mysql -u testuser -p < data.sql

其實 *.sql 檔的內容就是 MySQL 的指令,有時候不同的 *.sql 檔案內容在匯入時會有些差異,最直接的方式就是把 *.sql 檔用文字編輯器打開來看看。

重設 MySQL/MariaDB 資料庫 root 密碼

若忘記了 MySQL/MariaDB 資料庫 root 密碼,可將 MySQL/MariaDB 資料庫服務暫停,另外開啟一個 mysqld_safe 來設定 root 密碼:

sudo systemctl stop mariadb
sudo mysqld_safe --skip-grant-tables &

連線至 MySQL/MariaDB 資料庫:

mysql -u root

重新設定 root 密碼:

use mysql;
update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
flush privileges;
exit

重新啟動 MySQL/MariaDB 的服務:

sudo systemctl start mariadb

效能調校

MySQL Tuning Primer 是一個可以用來調整 MySQL/MariaDB 資料庫效能的工具,在使用這個工具之前至少要讓 MySQL/MariaDB 資料庫運行一天以上,資料庫運行的時間越久,使用這個工具調校所得到的效果會越好。

先安裝 bc

sudo yum install bc

下載 MySQL Tuner 指令稿:

wget http://www.day32.com/MySQL/tuning-primer.sh
chmod u+x tuning-primer.sh

執行:

sudo ./tuning-primer.sh

當被詢問是否要針對 /var/lib/mysql/mysql.sock 以外的 MySQL socket 做調校,請選擇 N

參考資料:Linode