准備工作:到官網下載官方提供的 yum儲存庫
官網下載地址: https://dev.mysql.com/downloads/repo/yum/
官方有提供相關教程:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
下載和系統版本對應的yum儲存庫
我的是centos8
可以直接下載后用工具上傳到centos中
也可以使用
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
我這里用wget直接獲取
可以在目錄中看到已經下載的文件
接着使用安裝命令安裝發行包
並替換 platform-and-version-specific-package-name
為下載的RPM包的名稱:
sudo yum localinstall platform-and-version-specific-package-name.rpm
等待安裝完成
注意:發行包基於不同EL系統,安裝方式不同,這一點在官方文檔有說明,詳情參考官方文檔
我這里就直接貼圖
使用命令檢查是否成功添加yum庫
yum repolist enabled | grep "mysql.*-community.*"
選擇需要安裝的發行版本
這里我直接安裝最新版本直接跳過,但是想安裝其他版本可以參考
在MySQL Yum存儲庫中,不同版本的MySQL Community Server托管在不同的子存儲庫中。默認情況下,默認啟用最新的GA系列(當前為MySQL 8.0)的子存儲庫,而所有其他系列(例如,MySQL 8.0系列)的子存儲庫均被禁用。使用此命令可查看MySQL Yum存儲庫中的所有子存儲庫,並查看已啟用或禁用了哪些子存儲庫(對於啟用dnf的系統,請使用dnf替換命令中的 yum):
yum repolist all | grep mysql
要安裝最新GA系列的最新版本,無需進行配置。要安裝除最新GA系列以外的特定系列的最新版本,請在運行安裝命令之前禁用最新GA系列的子存儲庫並啟用特定系列的子存儲庫。如果您的平台支持 yum-config-manager,則可以通過發出以下命令來實現,這些命令將禁用5.7系列的子存儲庫並啟用8.0系列的子存儲庫:
sudo yum-config-manager --disable mysql57-community
sudo yum-config-manager --enable mysql80-community
對於啟用dnf的平台:
sudo dnf config-manager --disable mysql57-community
sudo dnf config-manager --enable mysql80-community
除了使用yum-config-manager或 dnf config-manager命令之外,還可以通過手動編輯/etc/yum.repos.d/mysql-community.repo
文件來選擇發行系列 。這是文件中發行系列子存儲庫的典型條目:
[mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
查找要配置的子存儲庫的條目,然后編輯enabled
選項。指定 enabled=0
禁用子存儲庫或 enabled=1
啟用子存儲庫。例如,要安裝MySQL 8.0,請確保您具有 enabled=0
用於MySQL 5.7的上述子存儲庫條目,並具有 enabled=1
用於8.0系列的條目:
# Enable to use MySQL 8.0 [mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
只能在任何時候為一個發行系列啟用子存儲庫。如果啟用了多個發行系列的子存儲庫,那么Yum將使用最新的系列。
通過運行以下命令並檢查其輸出來驗證是否已啟用和禁用正確的子存儲庫(對於啟用了dnf的系統,請使用dnf替換 命令中的 yum):
yum repolist enabled | grep mysql
注意:(僅EL8系統)基於EL8的系統(例如RHEL8和Oracle Linux 8)包括默認情況下啟用的MySQL模塊。除非禁用此模塊,否則它將屏蔽MySQL存儲庫提供的軟件包。要禁用包含的模塊並使MySQL存儲庫軟件包可見,請使用以下命令(對於啟用dnf的系統,將命令中的yum替換 為 dnf)
我之前就是沒注意這個一直安裝失敗
sudo yum module disable mysql
上述工作完成后開始安裝
使用命令安裝,(對於啟用了dnf的系統,將命令中的yum替換為 dnf):
sudo yum install mysql-community-server
到這里就安裝完成。
這個時候就要開始配置MySQL
使用命令啟動MySQL
sudo service mysqld start
可以使用命令查看MySQL狀態
sudo service mysqld status
表示我的MySQL服務器正在運行
此時我們的服務器第一次啟動,會自動進行以下操作:
-
服務器已初始化。
-
SSL證書和密鑰文件在數據目錄中生成。
-
validate_password
已安裝並啟用。 -
'root'@'localhost
創建 一個超級用戶帳戶。設置超級用戶的密碼並將其存儲在錯誤日志文件中。顯示使用命令
sudo grep 'temporary password' /var/log/mysqld.log
方框中的為初始密碼,這個時候我們登錄數據庫並修改
mysql -uroot -p
現在我們就以超級用戶登錄了
使用命令修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密碼';
修改好后我們退出,使用新密碼登錄,沒問題(這里就不貼圖了,密碼反正不顯示)
到此為止基本上就完成,當然我們還有一些需求,比如說遠程工具連接
這個時候就需要配置一些東西
我們使用查詢命令查看用戶名和端口地址
select host,User from mysql.user;
使用修改命令修改host中的字段為%
這個時候就修改好了,如果有防火牆就關閉防火牆或者將3306端口添加到白名單,我這里是阿里雲,使用還需要修改安全組,開放3306端口
這個時候用navicat連接
唉嘿出問題了
遇到問題不用慌
根據提示信息
是權限不足,但是我們已經配置過了,但是修改了之后沒有刷新權限
所以這個時候用命令:
FLUSH PRIVILEGES;
刷新權限表
我們再次連接,哦喲,還有幺蛾子
一樣,根據提升信息去查找問題
我這里引用一下
https://blog.csdn.net/ora_dy/article/details/80251487
因為我安裝的是新版本MySQL
使用的加密方式不一樣了
所以我們需要修改為老版本的加密法登錄,或者使用新加密方式登錄
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼';
我這里就直接用老版本加密方式連接
修改用戶表信息
改為老版本加密方式
然后我們再來連接
ok,完美連接