RHEL7使用國內yum源,安裝Mariadb 10.2.25, 並配置字符集爲utf8mb4

目前阿里, 清華,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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章