這裡介紹如何在 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 只能從 localhost
(127.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 中建立一個資料庫(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