centos6.8安裝mysql5.7及用navicat遠程連接


 

一、忘記mysql的root密碼,重置失敗,重新安裝mysql

以前安裝了mysql,不經意把root密碼忘了,就按照網上操作即更改my.cnf配置文件

0、MySQL 版本查看

mysql --version

Linux下MySQL忘記root密碼的完美解決方法

1、用命令編輯/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 或者 nano /etc/my.cnf

2.在[mysqld]下添加skip-grant-tables,然后保存並退出

Linux下MySQL忘記root密碼的完美解決方法 

3.重啟mysql服務:service mysqld restart

 

但是重啟不起來,始終找不出原因,就想刪了重裝吧。剛好再練習一下。但又出了很多問題。記錄如下:

二、刪除原先已經安裝的mysql

查看是否已安裝mysql  

rpm -qa |grep mysql

有的話刪除對應組件

 然后用yum remove 文件名。如:

依次刪除以上三個文件。

三、重新安裝mysql

首先要查詢一下自己的centos是多少位的系統,然后再安裝。我就是一開始沒看,安裝了64位的系統,嘗試了yum安裝和rpm安裝的方式,都不成功。

尤其是rpm安裝是,總提示缺少依賴。見下圖。

 

 后來看到一個帖子發現可能是安裝的mysql版本不對。(見https://blog.csdn.net/sunbrightness/article/details/80642925)

於是查詢了自己的centos系統版本,方法是:

於是,按照以上方法操作:

可以看出,是32位的系統。初步判斷問題應該在安裝方法上。

至此,原mysql已經刪除干凈,可以重新安裝了。

(一)rpm方式安裝。

1、首先找到rpm包

進入官網:https://dev.mysql.com/downloads/mysql/

 

進入后,選擇

 

2、下載后就可以上傳安裝了,通過filezilla上傳到centos的 /var/tmp 文件夾下

3、進入var/tmp,輸入md5sum 文件名,進行md5校驗

將其結果與下載頁面上的md5值對比,如果一樣,證明文件沒問題。可以放心解壓安裝。

(此為示意圖)

 

4、解壓文件

  #tar -xvf mysql-5.7.23-1.el6.i686.rpm-bundle.tar

 

5、依次將以上文件拷貝到/usr/local/mysql文件夾。

 

 

6、進入mysql文件夾

7、依次安裝包含common libs   client   server deve的包

  

一開始只安裝了前四個,最后一個沒安裝,導致啟動不起來,把develop這個包裝上后,就啟動正常了

 

8、獲取mysql的root隨機密碼

因為root用戶默認是空密碼,所以輸入mysql -u root -p 后

提示不能進入,主要因為為了加強安全性,MySQL5.7為root用戶隨機生成了一個密碼,在error log中,關於error log的位置,如果安裝的是RPM包,則默認是/var/log/mysqld.log。只有啟動過一次mysql才可以查看臨時密碼。

grep 'temporary password' /var/log/mysqld.log(如果之前安裝過MySQL則這里可能會有多個密碼,用最后一個,注意這個密碼輸入時是可以粘貼的)

9、修改mysql的root密碼

使用默認的密碼登陸

mysql -uroot -p(這是一個MySQL的以密碼登錄root用戶的命令)

 

修改密碼(注意,登錄后的操作后面都最好要有;結尾)

ALTER USER 'root'@'localhost' IDENTIFIED BY '你新設的密碼';
至此root密碼修改完成。

10、開啟mysql的遠程訪問權限
在Linux中裝上mysql之后,發現windows中用navicat連接數據庫失敗,這是由於默認mysql的用戶是沒有遠程訪問的權限的,因此當navicat程序跟mysql數據庫不在同一台服務器上時,我們需要開啟mysql的遠程訪問權限才能正常訪問mysql數據庫。同時要在防火牆開始3306端口。
采用改表法設置mysql遠程訪問權限;
//登錄數據庫
  mysql -u root -p

>use mysql;
  //%為所有ip都可以遠程訪問
  mysql>update user set host = '%' where user = 'root';
//或直接添加一條語句也行   
mysql>insert into user (host,user,password) values('192.168.0.51','root',password('123'));  
  //查看一下修改
  mysql>select host, user from user;
//推送設置到內存或重啟服務器也行(很關鍵,一開始沒輸入這一行,導致始終連接不上)
  mysql>FLUSH PRIVILEGES;

 

11、開啟centos防火牆3306端口方法

1)打開防火牆配置文件

 vi  /etc/sysconfig/iptables  

 2)增加下面一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  

3)更改后的防火牆配置文件

 # Firewall configuration written by system-config-firewall  

  • # Manual customization of this file is not recommended.  

     
  • *filter  

     
  • :INPUT ACCEPT [0:0]  

     
  • :FORWARD ACCEPT [0:0]  

     
  • :OUTPUT ACCEPT [0:0]  

     
  • -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  

     
  • -A INPUT -p icmp -j ACCEPT  

 

  • -A INPUT -i lo -j ACCEPT  

  • -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  

  • -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  

  • -A INPUT -j REJECT --reject-with icmp-host-prohibited  

  • -A FORWARD -j REJECT --reject-with icmp-host-prohibited 

  • COMMIT  

 

4)保存后重啟防火牆

service  iptables restart  

至此全部大功告成!


免責聲明!

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



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