centOS8 安裝MySQL8(親測)

2020-10-02 16:00:22

如果你還在尋尋覓覓CentOS上安裝MySQL的教學而不得,那看到這裡就不用轉走了。
說實在的,我今天搞了一天了。

下載MySQL

MySQL8.0.21 各版本下載地址:點這裡

在這裡插入圖片描述

這個下拉框一拉,Fedora、Unbuntu什麼的都有,反正就是找不到centOS是吧,然後網上就是一堆人說centOS預設支援mariaDB,反正我的Centos是沒有。

搞這個:
在這裡插入圖片描述

可以直接在Linux系統下下載。

在這裡插入圖片描述


開始設定

先看看你的系統有沒有MariaDB:

rpm -qa | grep mariadb

有的話會給你一個版本的迴應,沒有的話就沒有了、

要是運氣好,真的有,那就卸掉唄:rpm -e 版本號 --nodeps


建一個目錄,叫mysql,放哪裡你記得住就好。
然後把MySQL下載好的安裝包拖到你的mysql目錄下,可以用程式碼拖進去,也可以去檔案管理器裡面拖。

解壓:tar -xvf mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar
別人的圖,意思是相通的
在這裡插入圖片描述


通過 rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm --nodeps --force 命令安裝 common

在這裡插入圖片描述

通過 rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安裝 libs

在這裡插入圖片描述

通過 rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安裝 client

在這裡插入圖片描述

通過 rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安裝 server

在這裡插入圖片描述

通過 rpm -qa | grep mysql 命令檢視 mysql 的安裝包

在這裡插入圖片描述


通過以下命令,完成對 mysql 資料庫的初始化和相關設定

mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;

在這裡插入圖片描述


通過 cat /var/log/mysqld.log | grep password 命令檢視資料庫的密碼

在這裡插入圖片描述


通過 mysql -uroot -p 敲確認鍵進入資料庫登陸介面

輸入剛剛查到的密碼,進行資料庫的登陸,複製貼上就行,MySQL 的登陸密碼也是不顯示的

在這裡插入圖片描述

通過 ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’; 命令來修改密碼
這下密碼改成了 root

通過 exit; 命令退出 MySQL,然後通過新密碼再次登陸


通過以下命令,進行遠端存取的授權

在這裡插入圖片描述


新增遠端登入使用者

預設只允許root帳戶在本地登入,如果要在其它機器上連線mysql,必須修改root允許遠端連線,或者新增一個允許遠端連線的帳戶。

修改root使用者遠端存取許可權:

選擇 mysql 資料庫:use mysql;

在 mysql 資料庫的 user 表中檢視當前 root 使用者的相關資訊:

select host, user from user;

檢視表格中 root 使用者的 host,預設應該顯示的 localhost,只支援本地存取,不允許遠端存取。

授權 root 使用者的所有許可權並設定遠端存取

GRANT ALL ON *.* TO 'root'@'%';

如果報錯:ERROR 1410 (42000): You are not allowed to create a user with GRANT

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

然後使用下面命令使修改生效:

flush privileges;

如有需要再執行之前授權報錯的命令即可成功,最後同樣使用flush privileges;命令重新整理。


sqlyog連結時出現2058異常

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

其中password為自己修改的密碼。然後SQLyog中重新連線,則可連線成功,OK。

如果報錯:ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@'localhost’則使用下面命令:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';