導語:

該篇文章主要記錄ContOS8安裝MariaDB後的一些配置內容,若想要詳細瞭解安裝過程請移步至上一篇博文!

正文:

首先對MariaDB進行相關的簡單配置

使用mysql_secure_installation命令進行初始化配置。

首先是設定密碼,會提示先輸入密碼
Enter current password for root (enter for none):<–初次執行直接回車 設定密碼 Set root password? [Y/n] <– 是否設定root使用者密碼,輸入y並回車或直接回車
New password: <– 設定root使用者的密碼
Re-enter new password: <– 再輸入一次你設定的密碼 其他配置 Remove anonymous users? [Y/n] <– 是否刪除匿名使用者,回車 Disallow root login remotely? [Y/n] <–是否禁止root遠端登入,回車, Remove test database and access to it? [Y/n] <– 是否刪除test資料庫,回車 Reload privilege tables now? [Y/n] <– 是否重新載入許可權表,回車

  若mysql_secure_installation命令執行不成功,則跳過即可。

一,設定使用者及訪問許可權

使用mysql -u root -p 以root身份登入資料庫

# mysql -u root -p         //剛安裝未設定過root密碼的可直接Enter,設定過root密碼的輸入密碼進入
//預設密碼隱藏,輸入後直接Enter

MariaDB[(NONE)]> create database mytest; //建立mytest資料庫

MariDB[(NONE)]> show database;        //檢視所有資料庫

MariaDB[(NONE)]> use mysql; //切換到mysql資料庫
MariaDB[(mysql)]> after user 'root'@'localhost' identified by '123456'; //修改root使用者在本地登入的密碼;
MariaDB[(mysql)]> create user 'JUNE'@'%' identified by '123456'; //建立超級管理使用者'JUNE'並設定訪問許可權 '%'-所有情況下都能訪問 'localhost'-本機才能訪問 '111.222.33.44'-指定ip才能訪問

MariaDB[(mysql)]> grant all privileges on *.* to 'JUNE'@'%' identified by '123456' with grant option; //授權JUNE擁有所有資料庫和表的許可權並且可以授權
MariaDB[(mysql)]> grant SELECT,UPDATE on mytest.* to 'JUNE'@'%';    //只授權JUNE擁有mytest資料庫下所有表的SELECT,UPDATE的許可權
MariaDB[(mysql)]> SHOW GRANTS FOR 'JUNE'@'%'   //檢視使用者JUNE獲得的授權

MariaDB[(mysql)]> REVOKE ALL PRIVILEGES ON 'mytest'.* from 'JUNE'@'%' //撤銷使用者JUNE在mytest資料庫的所有許可權

MariaDB[(mysql)]> flush privileges;      //重新整理許可權
MariaDB[(mysql)]> exit;    //退出

  

二,修改MariaDB預設埠號

MySQL/MariaDB的預設埠號是3306,以下為修改MariaDB埠號的方案

首先是編輯配置檔案 /etc/my.cnf 將[mysqld]下面的port修改為3308即可(埠號隨意改只要不與其他程式衝突即可)

# vim /etc/my.cnf

  vim編輯器的使用可參考  vi/vim的使用

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3308
socket = /tmp/mysql.sock
skip-external-locking
log-error=/alidata/log/mysql/error.log
key_buffer_size = 16M

 修改完畢後儲存退出,重啟資料庫服務

systemctl restart mysqld

  執行 systemctl status mariadb 檢視mariadb的狀態就可以看到port已成功更改!

改完配置檔案後要開放防火牆的3308埠

開啟埠

# firewall-cmd --zone=public --add-port=3308/tcp --permanent

命令含義:

--zone #作用域

--add-port=80/tcp  #新增埠,格式為:埠/通訊協議

--permanent  #永久生效,沒有此引數重啟後失效

開啟埠後需要重啟防火牆:

# systemctl restart firewalld

  檢視已經開放的埠,這時就可以看到3308/tcp已經開啟

# firewall-cmd --list-ports

  

三,設定資料庫字符集

mariadb(mysql)資料庫在儲存資料時,預設編碼為latinl,當儲存資料為中文字元時,在顯示或者web呼叫會出現亂碼的問題,需修改預設字符集為UTF-8.

注意:

  • 先修改配置檔案,重啟資料庫服務,然後再建立資料庫資料表插入中文資料,則中文字元可正常顯示;
  • 若先建立資料庫資料表插入中文資料,然後才修改配置檔案,重啟資料庫服務,則中文字元將依然顯示為亂碼;

登入mariadb資料庫,檢視資料庫字符集。

# mysql -u root  -p
輸入root密碼後進入
MariaDB [(none)] > show variables like '%char%';

  

使用vim /etc/my.cnf  命令編輯 /etc/my.cnf 檔案內容,在[mysqld]標籤下新增以下內容

character-set-server=utf8

  配置完成後重啟mariadb

systemctl restart mariadb

  之後再進入mariadb檢視字符集,顯示為:

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

至此結束!