Ubuntu安裝mysql並設置遠程訪問

1.安裝MySQL

依次執行以下指令:

	apt-get install mysql-server

	apt-get isntall mysql-client

	apt-get install libmysqlclient-dev

在這裏插入圖片描述
安裝完成之後可以使用如下命令來檢查是否安裝成功:

	netstat -tap | grep mysql

通過上述命令檢查之後,如果看到有 mysql 的socket處於 LISTEN 狀態則表示安裝成功。
在這裏插入圖片描述
登錄mysql數據庫可以通過如下命令:

	mysql -u root -p

-u 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,現在是mysql數據庫是沒有密碼的,Enter password:處直接回車,就能夠進入mysql數據庫。

然後通過 show databases; 就可以查看當前的所有數據庫。
在這裏插入圖片描述

2.初始化並設置密碼

接下來,爲了確保數據庫的安全性和正常運轉,對數據庫進行初始化操作。這個初始化操作涉及下面5個步驟。

(1)安裝驗證密碼插件。

(2)設置root管理員在數據庫中的專有密碼。

(3)隨後刪除匿名賬戶,並使用root管理員從遠程登錄數據庫,以確保數據庫上運行的業務的安全性。

(4)刪除默認的測試數據庫,取消測試數據庫的一系列訪問權限。

(5)刷新授權列表,讓初始化的設定立即生效。

對於上述數據庫初始化的操作步驟,在下面的輸出信息旁邊我做了簡單註釋。

root@ubuntu-virtual-machine:~# mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?    # 要安裝驗證密碼插件嗎?

Press y|Y for Yes, any other key for No: N    # 這裏我選擇N
Please set the password for root here.

New password:   # 輸入要爲root管理員設置的數據庫密碼

Re-enter new password:   # 再次輸入密碼


By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y     # 刪除匿名賬戶
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N    # 禁止root管理員從遠程登錄,這裏我沒有禁止

... skipping.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y   # 刪除test數據庫並取消對它的訪問權限
- Dropping test database...
Success.

- Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y   # 刷新授權表,讓初始化後的設定立即生效
Success.

All done!

檢查mysql服務狀態:

systemctl status mysql

顯示如下結果說明mysql服務運行是正常的:
在這裏插入圖片描述

3.配置MySQL允許遠程訪問

現在配置mysql允許遠程訪問,首先編輯 /etc/mysql/mysql.conf.d/mysqld.cnf 配置文件:

vim /etc/mysql/mysql.conf.d/mysqld.cnf

在這裏插入圖片描述
註釋掉bind-address = 127.0.0.1
保存退出,然後進入mysql數據庫,執行授權命令:

mysql -u root -p

mysql> grant all on *.* to root@'%' identified by '你的密碼' with grant option;

mysql> flush privileges;    # 刷新權限

mysql> exit

然後執行exit命令退出mysql服務,再執行如下命令重啓mysql:

systemctl restart mysql

現在Windows下可以使用Navicat圖形化工具遠程連接Ubuntu下的MySQL數據庫,輸入剛授權遠程權限的密碼。
在這裏插入圖片描述
ps:若提示以下連接錯誤,多半是因爲沒關閉防火牆或者阿里雲服務器沒開啓3306端口。

4.到阿里雲控制檯開放3306端口(虛擬機則關閉防火牆)

在這裏插入圖片描述
進去後點擊 =》 配置規則》添加安全組規則===》彈框內按照規則將端口號填寫上……結果如下:
在這裏插入圖片描述
完成上述所有步驟後重啓ECS進入數據庫

發佈了52 篇原創文章 · 獲贊 44 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章