簡介
MariaDB是MySQL關聯式資料庫管理系統的一個復刻,由社群開發,有商業支援,旨在繼續保持在GNU GPL下開源。MariaDB的開發是由MySQL的一些原始開發者領導的,他們擔心甲骨文公司收購MySQL後會有一些隱患。
MariaDB打算保持與MySQL的高度相容性,確保具有庫二進位奇偶校驗的直接替換功能,以及與MySQL API和命令的精確匹配. MariaDB內建了一個新的儲存引擎Aria,它可以替代MyISAM,成為預設的事務和非事務引擎. 它最初使用XtraDB作為預設儲存引擎, 並從10.2版本切換回InnoDB。
它的首席開發人員是米卡埃爾·維德紐斯,他是MySQL AB的創始人之一,也是Monty Program AB的創始人。2008年1月16日,MySQL AB 宣布它已經同意被昇陽電腦集團以大約10億美元的價格收購。該項收購已於2008年2月26日完成。MariaDB是以Monty的小女兒Maria命名的,就像MySQL是以他另一個女兒My命名的一樣。
MySQL Workbench
MySQL資料庫可以使用圖型介面 workbench來操作. 安裝workbench之前, 必需先安裝.netFramework4.7.2. 請注意, 使用 workbench操作MariaDB的話, 會有很多bug, 致少在登入及連線時就會有問題.
navicat
聽說這套很好用
WampServer3.2.0_x64
請注意, WampServer3.2.0 x64裏面的MySQL 8.0及MariaDB10.4.10 有bug, 請勿使用, 請改用MariaDB 10.3.20的版本
本機帳密:
MariaDB 在本機使用root 登入, 預設是不需要帳號密碼的, 如此就可以取得最大權限
mysql -u root
新增帳號
use mysql; create user 'student'@'%' identified by '123456'; grant all privileges on *.* to 'student'@'%';
本機登入
mysql -u student -p; 本機登入
遠端登入
一定要先打開防火牆 3360 port, 然後下達如下指令
mysql -u student -p -h 192.168.1.10
Linux 安裝Mariadb
安裝指令如下
sudo apt-get install mariadb-server
登入mariadb
sudo mysql -u root #登入MySQL
新增帳號及權限
use mysql; create user 'account'@'%' identified by 'password'; grant all privileges on *.* to 'account'@'%';
mariadb預設只能本地端登入, 若要能遠端登入, 需修改如下設定
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
#bind-address = 127.0.0.1 bind-address = 0.0.0.0
重啟mariadb
sudo systemctl restart mariadb
Safe Updae Mode
在Safe Update Mode開啟的狀態下,在沒有 WHERE 或 LIMIT 條件的 UPDATE 或 DELETE 動作會拒絕執行,而即使是有 WHERE 和 LIMIT 條件,但沒有 KEY column 的 WHERE 條件也會拒絕執行。
要關閉Safe Update Mode 可執行 “SET SQL_SAFE_UPDATES=0“ 指令
MySQL資料匯出匯入
匯出 : mysqldump -u account -p –routines wordpress > wordpress_20191101.sql
匯入 : mysql -u account -p wordpress < wordpress_20191101.sql
請注意, 由mysql 匯出的.sql 再匯入mariadb時, 時若發生 Unknown collation: ‘utf8mb4_0900_ai_ci’, 則需將 .sql的檔案使用notepad++打開, 將 ‘utf8mb4_0900_ai_ci’ 改為 ‘utf8mb4_general_ci’
MySQL自動輸入密碼
每次在本機登入, 備份, 還原, 都要輸入密碼, 實在太麻煩了, 以下方法, 可以不用輸入密碼. 不過這只適用Linux系統.
注意喔, 只有在本機不用輸入密碼喔. 如果在遠端不用輸入密碼, 那還得了.
vim ~/.my.cnf
[client] password=YOUR_MYSQL_PASSWORD
然後就不用輸入密碼了
mysql -u 帳號 mysqldump -u 帳號 --routines wordpress > wordpress.sql mysql -u 帳號 wordpress< wordpress.sql