顯示具有 電腦-Linux-MySQL/Maria 標籤的文章。 顯示所有文章
顯示具有 電腦-Linux-MySQL/Maria 標籤的文章。 顯示所有文章

2023年9月22日 星期五

Zabbix monitor MariaDB/MySQL Service

Zabbix monitor MariaDB/MySQL Service

如果使用MariaDB/MySQL資料庫,想要了解MariaDB/MySQL運作狀態,可以使用Zabbix Server進行服務監控。


設備環境

以Zabbix Server 為示範,OS為Ubuntu Linux LTS 22.04,資料庫為MariaDB-10.6.12。
資料庫安裝參考Zabbix Server安裝過程

MariaDB/MySQL設定

使用root帳號登入資料庫,建立用於監控的 MySQL 使用者(帳號及密碼請自行決定):
CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '密碼';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
01-create mysql user

帳號測試
mysql -u zbx_monitor -p
show databases;
02-check mysql user


Zabbix WEB設定

預計使用Zabbix Server內建Templates/Databases 的MySQL by Zabbix agent 2 進行監控。

MySQL by Zabbix agent 2

官方連結說明翻譯:
此範本專為 Zabbix 透過 Zabbix agent 2 輕鬆部署 MySQL 監控而設計,不需要任何外部腳本。

新增頁面設定如下:
02-create mysql host


依官網說明在Maros頁面新增11組參數,並填入對應的值。
{$MYSQL.USER}
MySQL user name.
{$MYSQL.PASSWORD}
MySQL user password.
{$MYSQL.ABORTED_CONN.MAX.WARN}
3
{$MYSQL.REPL_LAG.MAX.WARN}
30m
{$MYSQL.SLOW_QUERIES.MAX.WARN}
3
{$MYSQL.BUFF_UTIL.MIN.WARN}
50
{$MYSQL.DSN}
tcp://127.0.0.1
{$MYSQL.CREATED_TMP_TABLES.MAX.WARN}
30
{$MYSQL.CREATED_TMP_DISK_TABLES.MAX.WARN}
10
{$MYSQL.CREATED_TMP_FILES.MAX.WARN}
10
{$MYSQL.INNODB_LOG_FILES}
2
03-add mysql macros


在Configuration > Host中新增MySQL by Zabbix agent 2的Templates。

Zabbix使用Zabbix agent2監控MariaDB/MySQL Service,是由Zabbix Server透過監控主機的Zabbix agent2捉取資料,屬於被動模式。

2023年8月17日 星期四

Ubuntu Linux Install MariaDB

Unbutn Linux Install Mariadb

Ubuntu Linux 22.04 LTS 中可以直接安裝 MariaDB 10.6.12

MariaDB 安裝

# sudo apt install mariadb-server
apt install mariadb-server














安裝完成後,會自動啟動MariaDB service
#sudo systemctl status mariadb
sudo systemctl status mariadb





停止MariaDB service進行設定
#sudo systemctl stop mariadb
sudo systemctl stop mariadb






MariaDB 設定

基本設定

MariaDB Server安裝完成後,設定檔目錄為/etc/mysql/mariadb.conf.d/
主要設定檔為/etc/mysql/mariadb.conf.d/50-server.cnf
/etc/mysql/mariadb.conf.d/50-server.cnf








Server主要設定項目在[mysqld]
mysqld basic setting






mysql basic setting character










預設資料存放資料為/var/lib/mysql
未開放主機連線,如要開放請改為 #bind-address =127.0.0.1

新增設定

在原廠說明中建議新增設定不要去更改原有設定檔,在目錄新增z-開頭的檔案,
如z-custom-my.cnf,將相關設定寫入,系統自動會去覆蓋舊有設定。
mariadb config








在目錄中/etc/mysql/mariadb.conf.d/,新增z-mytune.cnf
將修改的設定寫入,不修改原有的50-server.cnf
# sudo nano /etc/mysql/mariadb.conf.d/z-mytune.cnf
---
[mysqld]

datadir                 = /data/mysql
tmpdir                  = /tmp

skip-name-resolve

expire_logs_days        = 7

max_connections = 150
innodb_buffer_pool_size = 512M

#innodb-log-file-size = 128M
#innodb-log-buffer-size = 128M
innodb-file-per-table = 1

#innodb_buffer_pool_instances = 8
#innodb_old_blocks_time = 1000
#innodb_stats_on_metadata = off
#innodb-flush-method = O_DIRECT
#innodb-log-files-in-group = 2
#innodb-flush-log-at-trx-commit = 2

#tmp-table-size = 96M
#max-heap-table-size = 96M
#open_files_limit = 65535
#max_connect_errors = 1000000
#connect_timeout = 60
#wait_timeout = 28800
---
nano /etc/mysql/mariadb.conf.d/10-mytune.cnf













資料存放資料為/var/lib/mysql更改為/data/mysql
# sudo mkdir /data/mysql -p
#sudo chown mysql:mysql /data/mysql
mkdir /data/mysql



mysql_secure_installation

啟動maridb server,執行mysql_secure_installation,
進行設定root密碼及相關設定。
# sudo mysql_secure_installation
sudo mysql_secure_installation01














sudo mysql_secure_installation02


















設定完成後,使用sudo mysql 即可登入檢查MariaDB Server狀態。

sudo mysql status










2018年11月27日 星期二

電腦-Linux-MariaDB/MySQL 安裝 Galera Cluster

電腦-Linux-MariaDB/MySQL 安裝 Galera Cluster

1.主機環境:
CentOS 7.x 最小安裝

/etc/hosts
db01:192.168.11.101
db02:192.168.11.102

firewalld開啟相關服務 tcp:3306、4444、4567、4568
firewall-cmd --add-service=mysql
firewall-cmd --add-port=4444/tcp
firewall-cmd --add-port=4567/tcp
firewall-cmd --add-port=4568/tcp
firewall-cmd --permanent --add-service=mysql
firewall-cmd --permanent --add-port=4444/tcp
firewall-cmd --permanent --add-port=4567/tcp
firewall-cmd --permanent --add-port=4568/tcp


關閉selinux
sed -i 's,^SELINUX=enforcing,SELINUX=disabled,g' /etc/selinux/config

安裝epel-release
yum install epel-release

2.MariaDB 安裝 (MariaDB 10.2)
vim /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

yum install MariaDB-server MariaDB-client percona-xtrabackup

rpm -qa|grep MariaDB
MariaDB-compat-10.2.19-1.el6.x86_64
MariaDB-common-10.2.19-1.el6.x86_64
MariaDB-client-10.2.19-1.el6.x86_64
MariaDB-server-10.2.19-1.el6.x86_64



3.Galera Cluster設定
3-1.db1設定
啟動MariaDB
systemctl start mariadb.service

設定Galera Cluster 同步帳號
mysql -uroot -e "grant all privileges on *.* to 'wsrep'@'localhost' identified by 'wsrep';"
mysql -uroot -e "grant all privileges on *.* to 'wsrep'@'192.168.11.%' identified by 'wsrep';"

進行安全初始化及重設root
mysql_secure_installation
systemctl stop mariadb.service

開啟Galera Cluster 功能
vim /etc/my.cnf.d/server.cnf

[mysqld]
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
character-set-server = utf8
log-error = /var/log/mariadb/mariadb.log
log-bin = mysql-bin
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2

[galera]
wsrep_on=ON
wsrep_cluster_name="wsrep_cluster"
wsrep_cluster_address="gcomm://"
wsrep_node_name=db01
wsrep_node_address=192.168.11.101
wsrep_sst_auth=wsrep:wsrep
wsrep_sst_method=rsync

第一次啟動Galera Cluster
galera_new_cluster

檢查Cluster狀態
mysql -uroot -p -e "show status like 'wsrep_connected';"
wsrep_connected         ON
mysql -uroot -p -e "show status like 'wsrep_cluster_size';"
wsrep_cluster_size       1 

3-2.db2設定
啟動MariaDB
systemctl start mariadb.service

進行安全初始化及重設root
mysql_secure_installation
systemctl stop mariadb.service

vim /etc/my.cnf.d/server.cnf

[mysqld]
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
character-set-server = utf8
log-error = /var/log/mariadb/mariadb.log
log-bin = mysql-bin
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2

[galera]
wsrep_on=ON
wsrep_cluster_name="wsrep_cluster"
wsrep_cluster_address="gcomm://192.168.11.101"
wsrep_node_name=db02
wsrep_node_address=192.168.11.102
wsrep_sst_auth=wsrep:wsrep
wsrep_sst_method=rsync

重新啟動
systemctl restart mariadb.service

db1檢查Cluster狀態
mysql -uroot -p -e "show status like 'wsrep_cluster_size';"
wsrep_cluster_size       2



4.使用xtrabackup同步
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm
yum install percona-xtrabackup
rpm -qa|grep percona

vim /etc/my.cnf.d/server.cnf
[galera]
wsrep_sst_method=xtrabackup-v2

systemctl restart mariadb.service

參考資料:
MARIADB GALERA CLUSTER- SOURCE INSTALLATION
Getting Started with MariaDB Galera and MariaDB MaxScale on CentOS
Galera Cluster for MySQL Multi-master Replication
CentOS 7 安裝 Percona XtraDB Cluster
CentOS7使用官方YUM源安裝Mariadb Galera集羣