MariaDB

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋

MariaDBMySQL的分支版本之一。

安裝

Debian的testing上安裝可以直接安裝系統版本,通常都是最新版:

sudo apt install -y mariadb-server; sudo apt clean; sudo service mysql stop; cd /etc/mysql/mariadb.conf.d; sudo mv 50-server.cnf 50-server.cnf.bak; sudo wget -O 50-server.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mariadb-11.4.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp; sudo service mysql start

Ubuntu上系統內的MariaDB不保證是最新版,所以會透過MariaDB官方提供的套件庫安裝。目前MariaDB是目前最新的LTS版本是11.4(前一個LTS是10.11),可以到MariaDB Server Releases這邊查詢有沒有更新的LTS版本:

sudo mkdir -p /etc/apt/keyrings; sudo curl -o /etc/apt/keyrings/mariadb-keyring.pgp https://mariadb.org/mariadb_release_signing_key.pgp; echo "deb [signed-by=/etc/apt/keyrings/mariadb-keyring.pgp] https://mirror.rackspace.com/mariadb/repo/11.4/ubuntu $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/mariadb.list; sudo apt update; sudo apt install -y mariadb-server; sudo apt clean; sudo service mysql stop; cd /etc/mysql/mariadb.conf.d; sudo mv 50-server.cnf 50-server.cnf.bak; sudo wget -O 50-server.cnf https://raw.githubusercontent.com/gslin/mysql-template/master/mariadb-11.4.cnf; sudo mkdir /srv/tmp; sudo chmod 1777 /srv/tmp; sudo service mysql start

另外可以加裝mycli:

sudo apt install -y mycli; sudo apt clean

剛裝好時是透過檔案權限保護unix socket,所以可以透過sudo存取:

sudo mariadb -u root

接下來設定root密碼,以便後續可以不需要sudo,用與MySQL相同的方法登入:

echo "SET PASSWORD = PASSWORD('password');" | sudo mariadb -u root

比較特別的地方是,在有設定skip-name-resolve時(在我上面安裝的template裏面有,算是MySQL系常見的設定),透過mysql -h 127.0.0.1連線的使用者不會算在username@localhost的帳號,而會需要另外設定一組username@%,像是這樣:

CREATE USER `trac`@`%` IDENTIFIED BY 'password_here';
GRANT ALL ON trac.* TO `trac`@`%`;

相關連結

外部連結