嗯.... 因工作因素,經常要安裝 MariaDB,整理以下常用資訊
MariaDB 版本 10.x.x
安裝:
可以先到這裡決定好要下載自己喜歡的平台版本
我個人習慣都是在 CentOS上,因為企業客戶大都受限於資安法規因素,選擇上偏向於合規居多。
https://mariadb.org/download/?t=repo-config
不知道攻城獅是否注意到 台灣有新增一個 MIRROR SITE 了,速度很快
tw1.mirror.blendbyte.net
大部分SE工程師不太在意,但是如果要常常製作 OFF-LINE TAR 安裝包去客戶端安裝的人
沒遇過客戶端不能連接INTERNET 的 SE 攻城獅 算是很幸福的!
我個人的安裝習慣是
yum install -y MariaDB-server MariaDB-common MariaDB-backup MariaDB-client
啟動參數:
以下也是我個人的習慣
先從第一台資料庫節點開始設定,執行以下命令:
cp /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.bak
編輯vi /etc/my.cnf.d/server.cnf
找到 [mysqld] 以後,加入以下:
#datadir=/var/lib/mysql #保留日後使用
#socket=/var/lib/mysql/mysql.sock #保留日後使用
#pid-file=/run/mariadb/mariadb.pid #保留日後使用
#
query_cache_type=0/1/DEMAND #保留日後使用
query_cache_type=DEMAND
query_cache_size=8864000
log-error=/var/log/mariadb/mariadb.log
slow_query_log_file=/var/log/mariadb/slow-mariadb.log
long_query_time=2
bind-address=0.0.0.0
lower_case_table_names=1
collation-server=utf8mb4_unicode_ci
init-connect='SET
NAMES utf8mb4'
character-set-server=utf8mb4
skip-name-resolve
max_connections=819200 # 開最大讓系統會動態自行調節
max_connect_errors=1000
max_allowed_packet=4096M
connect_timeout=15
innodb_buffer_pool_size=8G
innodb_buffer_pool_instances=16
innodb_buffer_pool_chunk_size=128M
innodb_fast_shutdown=0
存檔後、執行以下命令啟動MariaDB資料庫:
mkdir
-p /var/log/mariadb/
touch
/var/log/mariadb/mariadb.log
touch
/var/log/mysqld.log
touch
/var/run/mysqld.pid
chmod
666 /var/log/mysqld.log
chmod
666 /var/run/mysqld.pid
chown
-R mysql:mysql /var/log/mariadb
systemctl
disable firewalld; systemctl stop firewalld
systemctl
enable mariadb
systemctl
restart mariadb
systemctl status -l mariadb
確認Mariadb LOG 檔案紀錄狀態結果:
cat /var/log/mariadb/mariadb.log
設定資料庫 root 帳號的登入密碼,假設密碼為 1qaz2wsx
mysql -h localhost -u root
FLUSH
PRIVILEGES;
ALTER
USER 'root'@'%' IDENTIFIED BY '1qaz2wsx';
ALTER
USER 'root'@'localhost' IDENTIFIED BY '1qaz2wsx';
FLUSH
PRIVILEGES;
SHOW
GRANTS;
exit
將資料庫設定開放 root 連線,執行以下命令:
mysql -h localhost -u root
FLUSH
PRIVILEGES;
GRANT
ALL ON *.* TO 'root'@'%' IDENTIFIED BY '1qaz2wsx' WITH GRANT OPTION;
GRANT
ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1qaz2wsx' WITH GRANT OPTION;
GRANT
ALL PRIVILEGES ON *.* TO 'root'@'localhost.localdomain' IDENTIFIED BY
'1qaz2wsx' WITH GRANT OPTION;
FLUSH
PRIVILEGES;
exit
確定第一台資料庫服務正確啟動之後,其他資料庫節點仿照上述步驟逐一完成相關設定與啟動。