說在前面
本文講解清晰,從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協議即可。不過首先需要在 控制台>服務器運維>遠程連接 (如下圖)點擊其中的 “設置密碼” 即可。

