阿里雲輕量應用服務器——配置MySQL遠程連接(踩坑,LAMP+CentOS)


說在前面

本文講解清晰,從0開始

如不能用Navicat等數據庫軟件遠程登陸,請先檢查:安全>防火牆中 是否添加了MYSQL的3306端口(ECS服務器請檢查 安全組)如未添加,先點右上角“添加規則”。(在這上面耗了很久- -)

 


 

 

常用的命令:

切換到root管理員賬號: 

sudo su root

獲取Mysql數據庫登陸密碼(備用密碼):

sudo grep mysql_root_passwd /root/env.txt

忘記密碼:

在etc/my.cnf文件中;[mysqld]下添加一行skip-grant-tables;添加后輸入任意密碼都可以登陸mysql


 

 

正文:

首先 點擊面板左側 應用管理>應用詳情 點擊遠程連接 進入命令行界面

先切換到root管理員賬號 見文章開頭常用命令。

然后輸入mysql登陸等命令(如:mysql -u root -p)

出現報錯 bash: mysql: command not found
原因是系統沒有配置MySQL環境變量,所以不能在任意目錄下使用mysql的指令

所以首先第1步:

1 配置MySQL環境變量

輸入如下命令

vi /root/.bash_profile

 (字母I)進入輸入模式,把原來的環境變量改成如下:

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
退出輸入模式,輸入:wq,回車。提示written則保存成功。

重新運行該配置文件:

source /root/.bash_profile

配置好了環境變量就可以進行第2步了


 

2 登陸MySQL

mysql -u root -p

要求輸入密碼:(Linux密碼默認不顯示)

出現如下Welcome to the MySQL monitor……等一大段英文,即成功。此時 目錄已經變成mysql>

 

 


 

 

3 設置 允許用戶遠程連接

首先進入LAMP默認數據庫(該數據庫名稱就叫mysql):(因為有多個數據庫,要改的user表在這個數據庫中)

mysql> use mysql

在該數據庫中執行查詢(把表中的用戶顯示出來):

mysql> select user,host from user;

可以發現默認的host都是localhost(本地),所以要改成不止本地可以訪問。

這時可以選擇修改root的host為'%',或新建一個用戶。兩種方法如下(推薦第一種,快捷)

1) 修改host,由localhost變為'%'

執行如下命令:(賦權並修改)

mysql> grant all privileges on *.* to root @"%" identified by "此處改成你的MySQL密碼"; 

2) 新建用戶root2

mysql> create user '這里換成你自定的賬號'@'%' identified by '這里換成你自定的密碼';

成功會提示Query OK,失敗則會ERROR加錯誤碼。
至此,已經可以網外連接數據庫了。(如用Navicat)[主機名填外網IP,用戶名root,密碼參見本文開頭常用命令來獲取]


 

 

另外:

如果是方法2新建了用戶,則還需要對該用戶賦權:(即讓他有權限訪問數據庫,否則連接上只能看見information_schema,看不見其他數據庫)

mysql> grant all privileges on *.* to 新用戶的用戶名 @"%" identified by "新用戶的密碼";    

 

文件傳輸使用SSH軟件,或在FileZilla等軟件中選用sftp協議即可。不過首先需要在 控制台>服務器運維>遠程連接 (如下圖)點擊其中的 “設置密碼” 即可。

 

 


免責聲明!

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



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