1. 程式人生 > 實用技巧 >Ubuntu18.04 Server搭建MySQL伺服器

Ubuntu18.04 Server搭建MySQL伺服器

安裝Ubuntu系統就不在這裡贅述了,之前文章裡寫過,哈哈。話不多說,趕緊開始

一、安裝MySQL資料庫

檢查一下有沒有安裝過MySQL,如果沒有安裝就沒有內容,放心安裝好了

dpkg -l | mysql-server

安裝MySQL命令, -y的意思就是在安裝過程中遇到是否繼續的提示就不用手動在敲y了,當然也可以不加y,看你心情了

sudo apt install mysql-server -y

在安裝過程中,我遇到了一個問題,報錯資訊如下:

百度了n中方法也沒有解決,其中最多的是這種方法,將info檔案中的內容清空,然後在重新更新,類似於這種(但是我試了,還是不行):

於是,我就更新了軟體包和列表,用下邊兩個命令,第一個命令時間可能有一點長。

sudo apt-get upgrade        # 更新所有的軟體包
sudo apt update                # 更新軟體包列表

然後再次安裝MySQL就沒問題了。安裝好之後,用命令來檢查,通過上述命令檢查之後,如果看到有 mysql 的socket處於 LISTEN 狀態則表示安裝成功

netstat -tap | grep mysql

到這一步,安裝就完成了,接下來開始配置資料庫。

二、配置資料庫

為了確保資料庫的安全性和正常運轉,對資料庫進行初始化操作。這個初始化操作涉及下面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服務執行是正常的:

用mysql -u root -p命令,Enter password:處輸入剛設定的密碼,回車,就能夠進入mysql資料庫。

使用 use mysql; 命令開啟mysql命名的資料庫,顯示當前資料庫的表:show tables; 查詢user表裡的資料:select * from user;(user表裡是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

主機名或IP填寫Ubuntu的IP地址,連線成功。

參考文章:https://www.cnblogs.com/opsprobe/p/9126864.html