1. 程式人生 > 其它 >在ubuntu中安裝配置mysql

在ubuntu中安裝配置mysql

提示:以下操作均在root許可權下進行。

檢視有沒有安裝MySQL: dpkg -l | grep mysql

1、安裝MySQL: apt install mysql-server

2、安裝完成之後可以使用如下命令來檢查是否安裝成功:

netstat -tap | grep mysql

通過上述命令檢查之後,如果看到有 mysql 的socket處於 LISTEN 狀態則表示安裝成功。

3、登入mysql資料庫可以通過如下命令: mysql -u root -p

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

4、然後通過 show databases; 就可以檢視當前的所有資料庫。

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

5、檢查mysql服務狀態: systemctl status mysql

顯示如下結果說明mysql服務執行是正常的:

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

使用 use mysql; 命令開啟mysql命名的資料庫;

    show tables; 顯示當前資料庫的表

select * from user; 查詢user表裡的資料:(user表裡是mysql資料庫的所有賬戶資訊)

======配置mysql允許遠端訪問=

1、開啟資料庫3306埠

首先,使用如下指令檢視3306埠是否對外開放。

netstat -an | grep 3306                                                      

tcp    0   0 127.0.0.1:3306      0.0.0.0:*         LISTEN         

如果顯示如上,說明mysql埠目前只監聽本地連線127.0.0.1。然後需要修改mysql的配置檔案

2、首先編輯 /etc/mysql/mysql.conf.d/mysqld.cnf 配置檔案:

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

註釋掉bind-address = 127.0.0.1

儲存退出。

3、然後進入mysql資料庫,執行授權命令:

mysql -u root -p

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

mysql> flush privileges; # 重新整理許可權

mysql> exit

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

  sudo service mysql restart

5、在防火牆中開啟3306埠

如果執行了前三個步驟仍然不能遠端訪問mysql,那麼有可能是防火牆阻止訪問,需要開啟允許訪問。

  sudo ufw allow 3306

然後使用navicat登入就可以了

OK,到這裡Ubuntu18.04下安裝MySQL已經完成了。