一.安裝mysql
1. 更新軟件包列表:
sudo apt-get update
2.安裝 MySQL 服務(wù)器:
sudo apt-get install mysql-server
3.設(shè)置 MySQL 安全性:
sudo mysql_secure_installation
按照提示輸入相關(guān)問(wèn)題的回答,例如刪除匿名用戶、禁止 root 遠(yuǎn)程登錄等。
這里建議直接輸入y
。
這里根據(jù)自己要設(shè)置的密碼強(qiáng)度自行選擇,這里我選擇輸入0
。
后面還有幾個(gè)選項(xiàng),默認(rèn)輸入y
就行。
4.啟動(dòng) MySQL 服務(wù):
sudo service mysql start
5.檢查mysql是否處于運(yùn)行狀態(tài):
sudo service mysql status
如果 MySQL 正在運(yùn)行,將看到 “active (running)” 的輸出信息。
6.檢查 MySQL 版本:
mysql --version
二.修改mysql配置
1.以root身份登錄mysql
MySQL 數(shù)據(jù)庫(kù)帶有一個(gè)客戶端實(shí)用程序,允許你從 Linux 終端訪問(wèn)數(shù)據(jù)庫(kù)并與之交互。
通常,在未執(zhí)行任何配置的情況下在 Ubuntu 上全新安裝 MySQL 后,訪問(wèn)服務(wù)器的用戶將使用身份驗(yàn)證套接字 (auth_socket) 插件進(jìn)行身份驗(yàn)證。
2.打開(kāi) MySQL 控制臺(tái):
sudo mysql
3.輸入命令檢查數(shù)據(jù)庫(kù)對(duì)不同用戶使用的身份驗(yàn)證方法:
SELECT user,authentication_string,plugin,host FROM mysql.user;
我們可以看到root用戶是使用身份驗(yàn)證套接字 (auth_socket) 插件進(jìn)行身份驗(yàn)證登錄的,并且只能在本地登錄。
在生產(chǎn)環(huán)境中,為了保證數(shù)據(jù)庫(kù)的安全性,我們一般不建議直接使用 root 用戶進(jìn)行其他操作,而是創(chuàng)建一個(gè)專門用于應(yīng)用程序或管理員操作的非特權(quán)用戶,并且僅授予該用戶必要的權(quán)限。
接下來(lái),我們開(kāi)始創(chuàng)建非特權(quán)用戶,并且授予該用戶必要的權(quán)限!
4.列出 MySQL 數(shù)據(jù)庫(kù)服務(wù)器上的所有數(shù)據(jù)庫(kù):
SHOW DATABASES;
5.切換到其中一個(gè)數(shù)據(jù)庫(kù)mysql:
use mysql;
6.創(chuàng)建用戶new_user
,并設(shè)置只能本地登錄,登錄密碼為password
。用戶名和密碼自己設(shè)置,并且密碼包括大寫(xiě),小寫(xiě),數(shù)字等字符。
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
這里我是創(chuàng)建的用戶名為wwk
7.我們?cè)俅屋斎朊顧z查數(shù)據(jù)庫(kù)對(duì)不同用戶使用的身份驗(yàn)證方法:
SELECT user,authentication_string,plugin,host FROM mysql.user;
可以看到多了一條記錄,并且該用戶wwk是使用密碼登錄,只能在本地登錄。
8.嘗試創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)應(yīng)用程序的數(shù)據(jù),例如mydatabase
:
CREATE DATABASE mydatabase;
9.設(shè)置剛才自己創(chuàng)建的用戶wwk
登錄方式為遠(yuǎn)程登錄。
update user set host='%' where user='wwk' and host='localhost';
10.我們?cè)俅屋斎朊顧z查數(shù)據(jù)庫(kù)對(duì)不同用戶使用的身份驗(yàn)證方法:
SELECT user,authentication_string,plugin,host FROM mysql.user;
從圖中的%
,我們可以看到用戶wwk的登錄方式已經(jīng)是允許在任意主機(jī)上進(jìn)行登錄了。
11.授予用戶new_user
適當(dāng)?shù)臋?quán)限,給予用戶new_user
在任意主機(jī)登錄,并且只能對(duì)于數(shù)據(jù)庫(kù)database_name
進(jìn)行所有操作的權(quán)限。
GRANT ALL PRIVILEGES ON database_name.* TO 'new_user'@'%';
這里的用戶new_user
可以替換為之前創(chuàng)建的用戶wwk
,數(shù)據(jù)庫(kù)database_name
替換為剛才創(chuàng)建的數(shù)據(jù)庫(kù)mydatabase
。
12.退出mysql
exit
13.接著,進(jìn)入目錄/etc/mysql/mysql.conf.d
,修改其下的文件mysqld.cnf
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
將bind-address = 127.0.0.1注釋掉(即在行首加#)
代碼如下:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
如果只是開(kāi)發(fā)用的數(shù)據(jù)庫(kù),為了方便起見(jiàn)建議直接注釋掉。
14.完成上述所有步驟后,需要重啟一下數(shù)據(jù)庫(kù),才能讓修改的配置生效:
sudo service mysql restart
到此,mysql的配置修改就結(jié)束了。
三.使用datagrip或者idea遠(yuǎn)程登錄mysql
這里為了方便我使用idea進(jìn)行mysql遠(yuǎn)程登錄。首先登錄idea,然后按照如下圖步驟進(jìn)行操作。
然后來(lái)到了data sources界面:
在Host填入mysql所在的ip地址,接著填入用戶名wwk和密碼,點(diǎn)擊下方的Test Connection進(jìn)行測(cè)試連接,從圖中,我們可以看到是連接成功的!
接著點(diǎn)擊下圖紅色方塊選擇需要展示的數(shù)據(jù)庫(kù)個(gè)數(shù)
這里選擇需要展示的數(shù)據(jù)庫(kù)數(shù)量為ALL
,然后點(diǎn)擊刷新。
然后就可以從圖中找到數(shù)據(jù)庫(kù)mydatabase
了,由于之前我們授予用戶wwk
只能對(duì)數(shù)據(jù)庫(kù)mydatabase
進(jìn)行所有操作的權(quán)限,因此用戶wwk
并沒(méi)有其他多余的權(quán)限,這樣就能夠保證數(shù)據(jù)庫(kù)的安全性!!
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-843910.html
我們就可以在這個(gè)可視化界面進(jìn)行數(shù)據(jù)庫(kù)mydatabase
的所有操作,包括插入,刪除,添加,更新,查詢,修改等操作啦!!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-843910.html
到了這里,關(guān)于【mysql部署】在ubuntu22.04上安裝和配置mysql教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!