Hotline: 094.320.0088

Thiết Lập MariaDB Database Server

Mục tiêu bài hướng dẫn

  • Cài đặt Database Server với MariaDB 10
  • Thiết lập Remote Login cho database server

1. Thiết Lập Chuẩn Bị Cho Máy Chủ và Cài Đặt Database Server

[root@samba ~]# cd /etc/yum.repos.d/
[root@samba yum.repos.d]# vi MariaDB.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

[root@samba ~]# yum update
[root@samba ~]# yum install mariadb-server mariadb-client
[root@samba ~]# systemctl enable mariadb
[root@samba ~]# systemctl start mariadb
[root@samba ~]# mysql_secure_installation

2. Thiết lập cấu hình cho Database Server

– Thiết lập cấu hình tại vị trí “/etc/my.cnf.d/server.cnf

  • Thiết lập remote login
  • Thiết lập các thông số tối ưu cho database server

[root@samba my.cnf.d]# vi /etc/my.cnf.d/server.cnf
[mysqld]
# GENERAL #
user = mysql
default-storage-engine = InnoDB
socket = /var/lib/mysql/mysql.sock
pid-file = /var/lib/mysql/mysql.pid
bind-address = 0.0.0.0

# MyISAM #
key-buffer-size = 32M
myisam-recover = FORCE,BACKUP

# SAFETY #
max-allowed-packet = 16M
max-connect-errors = 1000000
skip-name-resolve
sql-mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY
sysdate-is-now = 1
innodb = FORCE
innodb-strict-mode = 1
innodb-autoinc-lock-mode = 2
innodb-doublewrite = 1
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = 1

# DATA STORAGE #
datadir = /var/lib/mysql/

# BINARY LOGGING #
log-bin = /var/lib/mysql/mysql-bin
expire-logs-days = 2
sync-binlog = 1
binlog-format = row

# CACHES AND LIMITS #
tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 500
thread-cache-size = 50
open-files-limit = 65535
table-definition-cache = 4096
table-open-cache = 4096

# INNODB #
innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-log-file-size = 128M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table = 1
innodb-buffer-pool-size = 128M

# LOGGING #
log-error = /var/lib/mysql/mysql-error.log
log-queries-not-using-indexes = 1
slow-query-log = 1
slow-query-log-file = /var/lib/mysql/mysql-slow.log

[root@samba ~]# systemctl restart mariadb
[root@samba ~]# firewall-cmd –add-port=3306/tcp
[root@samba ~]# firewall-cmd –permanent –add-port=3306/tcp

– Thiết lập database server cho phép remote login từ bất kỳ IP nào thuộc đường mạng 192.168.1.0/24

[root@samba ~]# mysql -u root -p
Password:

MariaDB [(none)]> SELECT User, Host FROM mysql.user WHERE Host <> ‘localhost’;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

MariaDB [(none)]> SELECT User, Host FROM mysql.user;