CentOS7安裝MYSQL8.X詳細教程

哈哈哈hh發表於2022-03-23

映象下載、域名解析、時間同步請點選  阿里雲開源映象站

1-首先檢視系統是否存在mysql,無則不返回

# rpm -qa|grep mysql

2-安裝wget

# yum -y install wget

3-抓取mariadb並刪除包,無則不返回

# rpm -qa|grep mariadb

4-刪除mariadb-libs-5.5.68-1.el7.x86_64

# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

5-配置阿里雲的yum

# wget 

6-配置成功後需要重新載入yum

# yum clean all    --清除yum
# yum makecache    --清除快取
# yum repolist     --檢視倉儲包

7-進入tmp資料夾,並清空

# cd /tmp/
# rm -rf *

8-透過wget下載mysql8.0包(如果包不是最新的則需要注意在安裝MYSQL前進行Mysql的GPG升級)

獲取最新的包開啟MYSQL官網 wget https://dev.mysql.com/get/Downloads/

阿里雲下載地址:

file

file

然後拼接在[wget  https://dev.mysql.com/get/Downloads/]後面

wget https://dev.mysql.com/get/Downloads/mysql-community-server-8.0.27-1.el7.x86_64.rpm

本教程提供的yum源包

# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

9-配置mysql的yum源

# sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

執行成功後會在/etc/yum.repos.d/目錄下生成兩個repo檔案mysql-community.repo 及 mysql-community-source.repo

10-進入yum.repos.d檢視

# cd /etc/yum.repos.d/ 
# ls -l

11-開始安裝Mysql

# yum install -y  mysql-community-server

注意:上面提到過,透過wget獲取的MYSQL包不是最新的前提下有可能報錯,這是因為MYSQL的GPG升級了,需要重新獲取

如果無這個報錯可忽略跳過本步驟

 報錯資訊如下:
 Failing package is: mysql-community-client-8.0.28-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

file

12-這個時候需要重執行(2022則為今年的年份),執行完GPG升級,需要重新安裝

# rpm --import 
# yum install -y  mysql-community-server

13-安裝完成

file

開啟my.cnf檔案增加以下 [skip-name-resolve] 語句到末尾(這一步可不做設定)

# vi /etc/my.cnf  
#跳過名稱解析,提高資料庫的連線速度
# skip-name-resolve

14-啟動MYSQL服務,並檢視狀態,檢視埠

# systemctl start mysqld        --啟動mysql服務
# systemctl status mysqld       --檢視mysql服務狀態
# netstat  -nlpt | grep mysqld  --檢視埠

file

15-設定開機啟動

# systemctl enable mysqld
# systemctl daemon-reload

16-抓取mysql臨時密碼

# cat /var/log/mysqld.log  | grep password

file

17-登入進mysql

mysql -u<賬號> -p<密碼> -P<埠號,預設 3306> -h<mysqld伺服器IP,如果比指定"-h" 則表示本地登陸>

mysql  -uroot  -p

18-更改密碼(必須是強密碼),並重新整理(mysql結尾一定要加英文分號;)

mysql> alter user 'root'@'localhost'  identified by 'Root123..';  --修改密碼(強密碼)
mysql> flush privileges;                                          --重新整理,立即生效
mysql> select user,host from mysql.user;                          --檢視資料庫中賬號資訊

弱密碼會報錯,如圖

file

做這一步前提:必須是修改了預設的隨機密碼(執行步驟18)
關掉強密碼,修改密碼長度最短為6位數,修改密碼為弱密碼

mysql> set global validate_password.policy=0; --關掉強密碼認證
mysql> set global validate_password.length=6; --密碼長度最短為6位數
mysql> alter user 'root'@'localhost'  identified by '123456';  --修改密碼(弱密碼)

file

19-開放3306埠,並且重啟防火牆,然後檢視埠,開放埠是為了外網能透過Navicat Premium等其他工具訪問

# firewall-cmd --zone=public --add-port=3306/tcp --permanent --開放3306埠
# firewall-cmd --reload                                      --重啟防火牆
# firewall-cmd --list-ports                                  --檢視開放的埠

file

做完如上部署,重新登入進到資料庫,修改user表中的Host:

# mysql -uroot -p123456                            --登入資料庫
mysql> show databases;                             --查資料來庫
mysql> use mysql;                                  --使用資料庫
mysql> select Host, User from user;                --查詢表
mysql> update user set Host='%' where User='root'; --修改User表內root使用者的Host為%
mysql> flush privileges;                           --重新整理

file
file
file

MYSQL知識點

如果建立一個使用者,給予單個庫許可權

mysql> create database  test_data;                                          --建立一個資料庫
mysql>  create user admin@'%' identified  by 'Admin@123..';                --建立一個新的使用者 admin 密碼 Admin@123..
mysql> grant all privileges on test_data.* to admin@'%' with grant option; --授權,給test_data庫的所有許可權
mysql> flush privileges;                                                   --重新整理

MySQL5.6版本和8.0版本的的使用者授權方式不同

MySQL5.6版本的使用者授權

mysql> create user test identified by '123456';
mysql> grant all privileges on *.* to 'admin'@'%'identified by '123456' with grant option;
mysql> flush privileges ;

MySQL8.0版本的使用者授權

mysql> create user test@'%' identified  by '123456';
mysql> grant all privileges on *.* to admin@'%' with grant option;
mysql> flush privileges;

本文轉自:https://www.cnblogs.com/LaoPaoEr/p/16023644.html


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70003733/viewspace-2883588/,如需轉載,請註明出處,否則將追究法律責任。

相關文章