MySQL MariaDB 資料庫比較? 如何安裝 MySQL MariaDB 資料庫在Linux?
LINUX 軟體安裝

MySQL MariaDB 資料庫比較? 如何安裝 MySQL MariaDB 資料庫在Linux?

MySQL MariaDB 為什麼會有兩種?

MySQL MariaDB 為什麼會有兩種? 其實,主要的原因是 MySQL 被 Oracle 收購後,存在著有可能不在支援自由軟體專案OpenSolaris的發展,意思就是使用者擔Oracle是否還會持續支援免費版的MySQL社群版(MySQL Community),而這一些隱患促使了MySQL的創始人之一的麥克爾·維德紐斯以MySQL為基礎,成立分支計劃MariaDB。

而 Fedora等 Linux 發行版已經在最新版本中以MariaDB取代MySQL,所以在新版的作業系統中都只會看見 MariaDB 喔!

MySQL MariaDB 差別是什麼? 功能一樣嗎?

MySQL在過去由於效能高、成本低、可靠性。MariaDB的API和協定相容MySQL,所有使用MySQL的連接器、程式庫和應用程式也將可以在MariaDB下工作。

安裝 MySQL MariaDB 資料庫

這裡開始教學如何在 CentOS Linux 7 中安裝 MySQL MariaDB 資料庫

Step 1 先更新 CentOS Linux 系統上的套件

sudo yum update

Step 2 安裝 MariaDB 伺服器

yum install mariadb-server

Step 3 讓開機自動啟動 MariaDB

sudo systemctl enable mariadb

Step 4 啟動服務

sudo systemctl start mariadb

Step 5 檢查 MariaDB

sudo systemctl status mariadb

Step 6 MariaDB 資料庫設定初始值

mysql_secure_installation

#第一次設定,直接按 Enter 鍵即可(P.S.這裡的root為資料庫的root,與系統的不同)
Enter current password for root (enter for none): 

#按 Y 設定資料庫 root 密碼
Set root password? [Y/n]

#輸入新密碼
New password: 

#再次輸入新密碼
Re-enter new password: 

#按 Y 移除匿名使用者
Remove anonymous users? [Y/n]

#按 Y 關閉 root 遠端登入
Disallow root login remotely? [Y/n]

#按 Y 移除資料表 test
Remove test database and access to it? [Y/n]

#按 Y 重新載入資料表權限
Reload privilege tables now? [Y/n]

MySQL MariaDB 基本指令

登入 MySQL MariaDB (輸入帳密)

root 其預設密碼為空

mysql -u root -p(密碼)

退出 MySQL MariaDB

exit

檢查資料庫版本

SELECT VERSION();

檢檢查目前登入的使用者

SELECT USER();

建立資料庫

#建立testdb資料庫
create dateabase testdb;

選擇欲使用資料庫

use testdb;

刪除資料庫

drop database testdb;

建立 users 資料表

create table users(name varchar(10), create_date date);

查看 users 資料表

這邊的 DESC 是指 DESCRIBE (描述) 並不是降冪排序的意思喔!

DESC users;

查看更詳細的資訊

  • \G 可以更詳細地列出資訊,顯示出來的畫面也比較好閱讀。
  • show可以查出最初建立資料的過程
SHOW CREATE TABLE users \G

MySQL MariaDB 備份及還原

復原單一資料庫

mysql -u root -p database_name < backup.sql

復原多個資料庫

mysql mysql -u root -p < backup.sql

備份單一資料庫

mysqldump -h hostname -u root -p database_name > backup.sql;

備份資料庫中單一資料表

mysqldump -u root -p database_name table_name > backup.sql;

備份資料庫中多張資料表

mysqldump -u root -p database_name table1 table2 > backup.sql;

備份多個資料庫

mysqldump -u root -p --databases db1 db2 > backup.sql;

備份所有資料庫,包括 function, trigger, index…

mysqldump -u root -p --all-databases --routines > backup.sql;

MySQL MariaDB 常見的ERROR

ERROR 2006 (HY000) at line 653: MySQL server has gone away

[my.cnf or ini]
max_allowed_packet=64M

ERROR 1118 (42000) at line: The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.

[mysqld]
innodb_log_file_size=256M

更多 MySQL MariaDB 資料庫效能參數設定?

上方列出的只是冰山一角,若要維護好一個穩定且效能高的 DB Server 勢必需要定期較調 MySQL MariaDB 資料庫參數、資料表必須要增加索引、 索引增加的注意事項以及追蹤應用程式的slow sql 並確實修正等等,未來會在寫相關的文章作為分享

參考資料:wikipediaithomeyidas

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。