centos7安裝mysql8

 

1.安裝前清理node

  1.1. 清理原有數據庫
    1.1.1. 清理軟件包
      使用 「rpm -pa | grep mysql」 查看原有的軟件包和依賴包,將結果使用 「yum remove 包名」逐一刪除。
    1.1.2. 清理配置
      使用「find / -name mysql」查看全部mysql配置,將結果使用「rm -rf 文件名」逐一刪除。
  1.2. 刪除 mariadb 文件
    因爲MySQL在CentOS7中收費了,因此已經不支持MySQL了,取而代之在CentOS7內部集成了mariadb,而安裝MySQL的話會和MariaDB的文件衝突,因此須要先卸載掉MariaDB.
    查看:rpm -qa | grep mariadb
    可能結果:mariadb-libs-5.5.56-2.el7.x86_64
    刪除:rpm -e mariadb-libs-5.5.56-2.el7.x86_64
    若是出錯,則使用強制刪除:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2. 下載安裝包
  centos的yum 源中默認是沒有mysql的,因此咱們須要先去官網下載mysql的repo源並安裝;
  2.1. 訪問官網,查看最新安裝包
    https://dev.mysql.com/downloads/repo/yum/
  2.2. 選擇版本,點擊「download」mysql

    

  2.3. 登陸
    若是是未登陸狀態,會要求登陸。此時會跳轉到 oracle 單點登陸頁面,登陸本身的 oracle 帳號便可(沒有帳號就註冊一個,如今下載 oracle 的產品都須要登陸,好比 jdk)
  2.4. 登陸後回到上述頁面,右鍵選擇的版本對應的download按鈕,點擊「複製連接地址菜單項」
  2.5. 登陸Linux服務器,進入到某個目錄(如 /usr/local/src),使用 wget 下載源安裝包
    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmsql

3. 安裝mysql源
  3.1. 安裝 yum repo 文件
    rpm -ivh mysql80-community-release-el7-3.noarch.rpm
    執行結果會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo mysql-community-source.repo數據庫

      

  3.2. 更新yum緩存
    yum clean allcentos

      

    yum makecache緩存

      

4. 安裝mysql服務器
  4.1. 選擇版本
    當咱們在使用yum安裝mysql時,yum默認會從yum倉庫中安裝mysql最新的GA版本;如何選擇本身的版本;
    4.1.1. 查看mysql yum倉庫中mysql版本,使用以下命令
      yum repolist all | grep mysql安全

        

      能夠看到mysql8是可用的,其它是禁用的,我正好是須要安裝mysql8,因此不用管了。若是想要安裝其它版本能夠修改服務器

    4.1.2. 修改禁用啓用規則
      yum-config-manager --enable mysql57-community
      若是命令無效,能夠直接編輯 mysql repooracle

        

  4.2. 安裝mysql服務
    yum install mysql-community-server測試

    中間有須要確認的步驟就一直 「y」 就好了。

    

    

5. 啓動服務,測試鏈接
  啓動:systemctl start mysqld.service
  中止:systemctl stop mysqld.service
  重啓:systemctl restart mysqld.service
  查看服務狀態:systemctl status mysqld.service
6. 修改初始密碼
  6.1. 查看初始密碼
    mysql在安裝後會建立一個root@locahost帳戶,而且把初始的密碼放到了/var/log/mysqld.log文件中;
    查看:cat /var/log/mysqld.log

    

    初始登陸密碼只能用於登陸mysql,不能進行其它操做。會強制要求用戶修改密碼。

  6.2. 修改初始密碼

    使用初始密碼登陸:mysql -uroot -p

    若是不修改,則任何操做時會提示以下錯誤:

      You must reset your password using ALTER USER statement before executing this statement.

    修改方式是登陸後使用如下語句

      ALTER USER USER() IDENTIFIED BY '新密碼'

    值得注意的是,新密碼必須符合安全策略(就是足夠複雜,mysql8的默認安全策略級別是 中等,像123456這些確定是過不了的),不然會提示以下錯誤:

      ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

    修改爲功以後咱們能夠看一下mysql服務器的密碼安全策略等級:SHOW VARIABLES LIKE 'validate_password%',結果以下:

      

7. 容許遠程登陸

  mysql8安裝完成以後,root用戶只容許本地登陸遠程登陸會報錯:

    ERROR 1130 (HY000): Host '120.79.172.133' is not allowed to connect to this MySQL server

  放開遠程權限的方法是登陸以後,執行

    use mysql;

    update user set host = '%' where user = 'root';

    flush privileges;

8. 修改密碼加密方式

  通過 7. 以後,發現遠程仍是不能登陸,可是報錯有所不一樣了:

    Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

  這是由於mysql7以後,默認的密碼加密方式更改了,可是你使用的客戶端沒有升級,不支持此種加密方式,解決方法是更改服務器加密方式爲傳統加密方式或者升級客戶端。若是是新項目建議使用第二種,畢竟新的確定更好。若是是存量項目的數據庫遷移或者升級,考慮到兼容問題和穩定性,建議使用第一種。

  修改加密方式爲本地登陸以後執行:

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼';

  至此,mysql服務已經可使用了。

9. 修改默認服務端口

  mysql默認端口號是 3306。通常線上數據庫,出於安全考慮,都會修改默認端口號。

  9.1. 編輯「/etc/my.cnf」文件

    vi /etc/my.cnf

  9.2. 添加行

    port=新端口;

  9.3. 重啓mysql服務

    systemctl restart mysqld.service

 

完!

 

相關文章
相關標籤/搜索