知識點:
Yum源
Yum是Redhat、CentOS中的軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
說到yum源就必須說到linux系統中特有的依賴關系問題,yum就是為了解決依賴關系而存在的。yum源就相當是一個目錄項,當我們使用yum機制安裝軟件時,若需要安裝依賴軟件,則yum機制就會根據在yum源中定義好的路徑查找依賴軟件,並將依賴軟件安裝好。
YUM是“Yellow dog Updater, Modified”的縮寫,是一個軟件包管理器,YUM從指定的地方(相關網站的rpm包地址或本地的rpm路徑)自動下載RPM包並且安裝,能夠很好的解決依賴關系問題。
YUM的基本工作機制如下:
服務器端:在服務器上面存放了所有的RPM軟件包,然后以相關的功能去分析每個RPM文件的依賴性關系,將這些數據記錄成文件存放在服務器的某特定目錄內。
客戶端:如果需要安裝某個軟件時,先下載服務器上面記錄的依賴性關系文件(可通過WWW或FTP方式),通過對服務器端下載的紀錄數據進行分析,然后取得所有相關的軟件,一次全部下載下來進行安裝。
步驟:
1、替換Yum源
1)yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo mirrors.163.com/.help/CentOS7-Base-163.repo
2)更新緩存
yum clean all
yum makecache
2、安裝MySQL
1)下載rpm文件
yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
2)安裝MySQL
yum install mysql-community-server -y
3、啟動MySQL
1)啟動數據庫
service mysql start
2)查看密碼
grep 'temporary password' /var/log/mysqld.log
3)登錄
mysql -u root -p
注意:啟動數據庫時,報錯:Uint can't to found,需要找到mysql文件,放置/etc/init.d/下,才可以使用service mysql start啟動mysql
4、修改密碼
alter user user() identified by '123456';
注意:在修改密碼時,報錯:Your password dees not satisfy the current policy requirements,觸發了密碼策略,所以需要修改密碼策略,輸入:“show variables like 'validate_password%'; ”,修改單項策略:“set global validate_password.length=6;”等等(Mysql 8)
5、允許遠程使用root賬戶
update user set host='%' where user='root'; flush privileges;
注意:如果直接在mysql中鍵入,報錯:No database selected,所以需要輸入“use mysql”,如果沒有這一步,Navicat連接MySQL時,會報2059錯誤
6、修改/etc/my.cnf文件
character_set_server = utf8 bind-address=0.0.0.0
7、重新啟動
service mysqld restart
8、系統防火牆開放3360端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
9、使用Navicat連接Mysql
連接過程中出現報錯:2059,查詢后是由於mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之后,加密規則是caching_sha2_password, 解決問題方法有兩種,一種是升級navicat驅動,一種是把mysql用戶登錄密碼加密規則還原成mysql_native_password.
所以需要修改密碼,會報密碼不符合密碼策略,參照4
注意:剛開始我輸入"alter user 'root'@'localhost...",直接報錯,
mysql> use mysql ; mysql> select user,host from user ;
列示出root帳戶對應的host與其它不同,所以需要更改為"alter user 'root'@'%'...",更改后就可以成功連接MySQL了
注:隔天連接Mysql,又出現報錯:1045,哎,真的是老出問題
1)修改 /etc/my.cnf 文件
2)[mysqld]后面任意一行添加“skip-grant-tables”用來跳過密碼驗證的過程
3)user mysql;重置密碼
不好意思,突然想起密碼昨天修改了,是我記錯了,尷尬,沒有表情可言,哈哈哈……
在 /etc/my.cnf 注釋了#skip-grant-tables后,Navicat連接Mysql報錯:2003
授權時,才發現由於skip-grant-tables的問題,刪掉后,就可以連接Navicat了