Linux安裝MySQL,並使用Navicat連接


知識點:

  1. yum源

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了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM