centOS7安裝mysql8.0完美教程!!只要按照步驟,無腦操作,一次成功!


查看防火牆
systemctl status firewalld
重啟防火牆
systemctl start firewalld 

1、mysql
  首先關閉防火牆
    systemctl stop firewalld

  1.1 檢查系統是否已經安裝過mysql
    rpm -qa|grep mariadb
    如果查詢到結果,證明已經安裝過,必須先卸載

  1.2 卸載mariadb
    rpm -e --nodeps mariadb-libs

  1.3 由於mysql會產生臨時文件存到/tmp文件夾中,如果使用非root管理員可能沒有權限,會報錯
    給tmp文件夾設置所有權限
    chmod -R 777 /tmp

  1.4 安裝mysql客戶端+服務端【需要先從官網下載這些,然后傳輸到opt文件后再執行安裝】
    rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm

  1.5 阿里雲安裝mysql-community-server-8.0.18-1.el7.x86_64.rpm報錯解決辦法

    報錯如下:

      [root@localhost upload]# rpm -ivh MySQL-server-5.5.25a-1.rhel5.x86_64.rpm
      error: Failed dependencies:
      libaio.so.1()(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
      libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
      libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64

    解決辦法:

      網站百度了很多個文章,都不行,后來發現有一篇文章寫的方法可以,命令如下:
        yum install libaio
      這樣就ok了,就可以繼續安裝mysql了。
      參考
      http://www.blogjava.net/amigoxie/archive/2013/02/22/395605.html


2、mysql配置
  2.1使用mysql之前,需要啟動mysql服務:
    systemctl start mysqld

  2.2獲取默認密碼
    grep "A temporary password is generated for root@localhost" /var/log/mysqld.log

  2.3登錄
    mysql -u root -p回車     然后輸入密碼 

  2.4修改密碼(允許設置成簡單密碼)
     set global validate_password.policy=0;
     set global validate_password.length=1;
     ALTER USER "root"@"localhost" IDENTIFIED BY "1234"; // 新密碼為1234
  2.5退出
    exit;
  2.6用新密碼登錄
    mysql -u root -p 回車
    輸入密碼 回車

  2.7 遠程連接mysql的權限
    選中數據庫
      use mysql;
    查看所有用戶
      select user,authentication_string,host from user;
    默認都是localhost
      update user set host = '%' where user = 'root';
    更改加密規則【目的是允許使用簡單密碼】
      update user set plugin='mysql_native_password' where user ='root';
    刷新
      FLUSH PRIVILEGES;


  測試外網連接mysql服務器
  (如果外網連接失敗的話,先按照【重置密碼】執行一遍,再執行【修改密碼語句,並且需要替換語句內容】,
  只是ALTER USER "root"@"localhost" IDENTIFIED BY "1234";
  要替換成ALTER USER "root"@"%" IDENTIFIED BY "1234";)

3、重置密碼
  3.1開啟免密碼登陸 修改my.cnf文件 默認在/etc/my.cnf。
     vim /etc/my.cnf
  在【mysqld】模塊下面添加:skip-grant-tables 保存退出。

  3.2重啟服務,使配置生效

    systemctl restart mysqld

  3.3登陸
    mysql -u root -p //不輸入密碼直接敲回車鍵

  3.4選擇數據庫
    use mysql把密碼置空(因為免密登陸時不能直接修改密碼) 
     update user set authentication_string = '' where user = 'root';
  3.5退出
    exit;
  3.6把/etc/my.cnf免密刪掉。
  3.7重啟服務
    systemctl restart mysqld
   3.8登陸
    mysql -u root -p //直接敲回車鍵,因為剛剛置空密碼了。

   3.9和上面修改密碼的步驟一樣,重復一遍就好了~ 哈哈!
     set global validate_password.policy=0;
     set global validate_password.length=1;
    ALTER USER "root"@"%" IDENTIFIED BY "1234";


開啟防火牆(允許特定端口號通過)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM