「MariaDB」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
Gslin留言 | 貢獻
建立内容为“'''MariaDB'''是MySQL的分支版本之一。 == 外部連結 == * {{Official|https://mariadb.org/}} {{en}}”的新页面
 
Gslin留言 | 貢獻
 
(未顯示同一使用者於中間所作的 31 次修訂)
第1行: 第1行:
'''MariaDB'''是[[MySQL]]的分支版本之一。
'''MariaDB'''是[[MySQL]]的分支版本之一。
== 安裝 ==
在[[Debian]]的testing上安裝可以直接安裝系統版本,通常都是最新版:
<syntaxhighlight lang="bash">
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
</syntaxhighlight>
在[[Ubuntu]]上系統內的MariaDB不保證是最新版,所以會透過MariaDB官方提供的套件庫安裝。目前MariaDB是目前最新的LTS版本是11.4(前一個LTS是10.11),可以到[https://mariadb.com/kb/en/mariadb-server-release-dates/ MariaDB Server Releases]這邊查詢有沒有更新的LTS版本:
<syntaxhighlight lang="bash">
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
</syntaxhighlight>
另外可以加裝mycli:
<syntaxhighlight lang="bash">
sudo apt install -y mycli; sudo apt clean
</syntaxhighlight>
剛裝好時是透過檔案權限保護unix socket,所以可以透過sudo存取:
<syntaxhighlight lang="bash">
sudo mariadb -u root
</syntaxhighlight>
接下來設定root密碼,以便後續可以不需要sudo,用與[[MySQL]]相同的方法登入:
<syntaxhighlight lang="bash">
echo "SET PASSWORD = PASSWORD('password');" | sudo mariadb -u root
</syntaxhighlight>
比較特別的地方是,在有設定<code>skip-name-resolve</code>時(在我上面安裝的template裡面有,算是[[MySQL]]系常見的設定),透過<code>mysql -h 127.0.0.1</code>連線的使用者不會算在<code>username@localhost</code>的帳號,而會需要另外設定一組<code>username@%</code>,像是這樣:
<syntaxhighlight lang="sql">
CREATE USER `trac`@`%` IDENTIFIED BY 'password_here';
GRANT ALL ON trac.* TO `trac`@`%`;
</syntaxhighlight>
== 相關連結 ==
* [[MySQL]]


== 外部連結 ==
== 外部連結 ==


* {{Official|https://mariadb.org/}} {{en}}
* {{Official|https://mariadb.org/}} {{en}}
[[Category:軟體]]

於 2025年2月9日 (日) 17:38 的最新修訂

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`@`%`;

相關連結

外部連結