我的公眾號
今天2021年4月23日。我買了阿里云centos服務(wù)器,安裝mysql8.0,做一筆記,以供大家使用。
本教程手把手教你如何在 Linux 安裝 MySQL 數(shù)據(jù)庫,以 CentOS 8為例。
wget?https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
使用上面的命令就直接下載了安裝用的Yum Repository,大概25KB的樣子,然后就可以直接yum安裝了。
2、然后進(jìn)行repo的安裝:
rpm?-ivh?mysql80-community-release-el7-1.noarch.rpm
執(zhí)行完成后會在/etc/yum.repos.d/目錄下生成兩個repo文件 mysql-community.repo mysql-community-source.repo
之后就開始安裝MySQL服務(wù)器。
?yum?install?mysql-server
這步可能會花些時間,安裝完成后就會覆蓋掉之前的mariadb。
vim?/etc/my.cnf
在[mysqld]下,添加以下內(nèi)容
#讓MYSQL大小寫敏感(1-不敏感,0-敏感)
lower_case_table_names=1
systemctl?start?mysqld.service?
systemctl?status?mysqld.service
此時MySQL已經(jīng)開始正常運(yùn)行,不過要想進(jìn)入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日志文件中找出密碼:
grep?"password"?/var/log/mysqld.log
進(jìn)入數(shù)據(jù)庫:
mysql?-uroot?-p
輸入剛剛上面的初始密碼
此時不能做任何事情,因為MySQL默認(rèn)必須修改密碼之后才能操作數(shù)據(jù)庫:
ALTER?USER?'root'@'localhost'?IDENTIFIED?BY?'new?password';
new password為你設(shè)置的root密碼 這里有個問題,新密碼設(shè)置的時候如果設(shè)置的過于簡單會報錯:
盡量把密碼設(shè)置復(fù)雜一些
此時不能遠(yuǎn)程訪問,如Navicat訪問不了
居中(1)開放3306端口
firewall-cmd?--permanent?--zone=public?--add-port=3306/tcp
(2)如果提示FirewallD is not running,如下圖所示
(3)通過systemctl status firewalld查看firewalld狀態(tài),發(fā)現(xiàn)當(dāng)前是dead狀態(tài),即防火墻未開啟。
(4)通過systemctl start firewalld開啟防火墻,沒有任何提示即開啟成功。
(5)再次通過systemctl status firewalld查看firewalld狀態(tài),顯示running即已開啟了。
(6)如果要關(guān)閉防火墻設(shè)置,可能通過systemctl stop firewalld這條指令來關(guān)閉該功能。
(7)再次執(zhí)行firewall-cmd --permanent --zone=public --add-port=3306/tcp ,提示success,表示設(shè)置成功,這樣就可以繼續(xù)后面的設(shè)置了。
(8)刷新
firewall-cmd?--reload
當(dāng)防火墻開啟后,Navicat訪問出現(xiàn)如下圖:
(1)設(shè)置認(rèn)證方式。 如果你沒有設(shè)置認(rèn)證方式,默認(rèn)的密碼加密方式是:caching_sha2_password,而現(xiàn)在很多客戶端工具還不支持這種加密認(rèn)證方式,連接測試的時候就會報錯:
client?does?not?support??authentication?protocol?requested?by?server;?consider?upgrading?MySQL?client
這里的錯誤信息就是不支持身份認(rèn)證方式,沒關(guān)系,編輯/etc/my.cnf(編輯命令:vim /etc/my.cnf)文件里面在[mysqld]下面加上這句話即可:
default_authentication_plugin=mysql_native_password
(2)登陸到mysql命令行:然后輸入密碼
mysql?-u?root?-p
(3)進(jìn)入之后選擇mysql庫,用戶信息都存在這個庫的user表中
use?mysql;
select?host,?user,?authentication_string,?plugin?from?user;
居中
可以看到,用戶對應(yīng)的主機(jī)是localhost,而不是%,所以不能連接。 (4)授權(quán)root用戶可以遠(yuǎn)程登陸
update?user?set?host='%'?where?user?=?'root';
flush?privileges;
(5)刷新權(quán)限
flush?privileges;
安全組---配置規(guī)則---快速添加即可
此時,數(shù)據(jù)庫就已經(jīng)安裝配置好了。 如此詳細(xì)的圖文教程,你學(xué)會了嗎?趕緊收藏并試試吧!
MySQL新版本(8以上版本)的用戶登錄賬戶加密方式是【caching_sha2_password】,Navicat不支持這種用戶登錄賬戶加密方式。
執(zhí)行
show?variables?like?'default_authentication_plugin';
select?host,user,plugin?from?mysql.user;
ALTER?USER?'root'@'%'?IDENTIFIED?WITH?mysql_native_password?BY?'mima';
flush?privileges;
原文鏈接https://geshanzsq.com/article/34
聯(lián)系客服