目前阿里, 清華,163等鏡像站的Mariadb都是5.5的,有些項目需要用到更新的版本,所以順便安裝一下10版本的,並記錄過程
-
添加中科大的Mariadb 10.2.25 yum源,並yum安裝
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64
gpgkey = https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
# 需要重新生成yum 緩存,再安裝
yum clean all
yum makecache all
# 安裝mariadb客戶端,服務端
yum install mariadb-server mariadb -y
# 啓動
systemctl start mariadb #啓動 MariaDB
systemctl enable mariadb #設置開機啓動
-
初始化前注意
在確認 MariaDB 數據庫軟件程序安裝完畢併成功啓動後請不要立即使用。爲了確保數據 庫的安全性和正常運轉,需要先對數據庫程序進行初始化操作。這個初始化操作涉及下面 5 個 步驟。
➢ 設置 root 管理員在數據庫中的密碼值(注意,該密碼並非 root 管理員在系統中的密 碼,這裏的密碼值默認應該爲空,可直接按回車鍵)。
➢ 設置 root 管理員在數據庫中的專有密碼。
➢ 隨後刪除匿名賬戶,並使用 root 管理員從遠程登錄數據庫,以確保數據庫上運行的業
務的安全性。
➢ 刪除默認的測試數據庫,取消測試數據庫的一系列訪問權限。
➢ 刷新授權列表,讓初始化的設定立即生效。
-
初始化命令
mysql_secure_installation # 確保mariadb服務器啓動後,執行
-
Mariadb修改爲中文編碼且實時生效並永久保存,需要以下兩個步驟
-
數據庫正在運行時修改(重啓失效)
# 在mariadb命令中設置
MariaDB [(none)]> SET NAMES 'utf8mb4';
MariaDB [(none)]> set character_set_server = utf8mb4;set character_set_database = utf8mb4;set collation_database = utf8mb4_general_ci ;set collation_server = utf8mb4_general_ci ;
-
永久修改, /etc/my.cnf
[client-server]
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
log-error=/var/log/mysqld.log
init-connect='SET NAMES utf8mb4'
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
-
重啓mariadb
# stop關閉 mariadb,再start開啓才生效, restart重啓不行
systemctl stop mariadb
systemctl start mariadb
# 查看修改後的字符編碼集,已改爲 utf8mb4
show variables like "%character%";show variables like "%collation%";
# 如果你的數據庫中已經存在表了,建議進行修復一下
mysqlcheck -u root -p --auto-repair --optimize --all-databases
-
mariadb基本命令
# 1 遠程鏈接mysql服務端
mysql -uroot -p -h 192.168.1.2
# 2 修改mysql密碼
MariaDB [(none)]> set password = PASSWORD('redhat123');
# 3 創建mysql用戶
create user xiaoming@'%' identified by 'pw666';
# 4 查詢mysql庫中的用戶信息
use mysql;
select host,user,password from user;
# 5 創建數據庫
MariaDB [(none)]> create database demo
# 6 創建表
MariaDB [root]> create table test(id int,name char(32));
-
數據庫權限設置
mysql使用grant命令對賬戶進行授權,grant命令常見格式如下
grant 權限 on 數據庫.表名 to 賬戶@主機名 對特定數據庫中的特定表授權
grant 權限 on 數據庫.* to 賬戶@主機名 對特定數據庫中的所有表給與授權
grant 權限1,權限2,權限3 on *.* to 賬戶@主機名 對所有庫中的所有表給與多個授權
grant all privileges on *.* to 賬戶@主機名 對所有庫和所有表授權所有權限
[例]
# 1 授予×××創建的權限,對於所有的庫表生效
grant create on *.* to xiaoming@"%" identified by 'xc666';
# 2 授予×××用戶,只有創建mymysql數據庫的權限
grant create on mymysql.* to xiaoming@"%" identified by 'xc666';
# 3 授予用戶最大的權限,所有的權限
grant all privileges on *.* to username@'%' identified by 'password';
# 4 移除權限
MariaDB [(none)]> revoke all privileges on *.* from xiaoming@"%" identified by 'xc666';
-
數據庫的備份與恢復
# 數據庫命令備份
mysqldump -u root -p --all-databases > /tmp/db.sql
# 數據導入,方式有2種
source /tmp/db.sql;
或者
mysql -uroot -p < /tmp/db.sql
# 其他的備份工具
navicat
# 如果你數據量特別大的話,使用第三方工具
xtrabackup