準(zhǔn)備工作:CentOS 7系統(tǒng),并確??梢月?lián)通網(wǎng)絡(luò)
1、獲取MySQL 5.7 Community Repository軟件包
注意:這里使用的是root用戶身份。
wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
2、安裝軟件包
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
3、安裝MySQL服務(wù)
cd /etc/yum.repos.d
這里先切換到y(tǒng)um軟件倉庫配置文件的目錄,接下來使用yum包管理器安裝MySQL服務(wù),命令如下:
yum -y install mysql-server
這里因為軟件包比較大,可能需要一點時間。
到這里,如果安裝的時候出現(xiàn)公鑰尚未安裝的問題,請不要著急,根據(jù)下面的步驟來解決問題。如果沒有問題的話則直接進行步驟4。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
首先,執(zhí)行上面的命令;該命令的作用是導(dǎo)入MySQL軟件倉庫的GPG公鑰。
在軟件倉庫中使用GPG公鑰可以確保軟件包的完整性和認證,以防止未經(jīng)授權(quán)的修改或潛在的風(fēng)險。
緊接著,重新執(zhí)行一下安裝服務(wù)的命令。
yum -y install mysql-server
4、操作MySQL服務(wù)
如果你沒有出現(xiàn)公鑰尚未安裝的問題,就正常繼續(xù)往下。
首先,啟動MySQL服務(wù),并設(shè)置開機自動啟動。
# 啟動服務(wù)
systemctl start mysqld
# 查看狀態(tài)
systemctl status mysqld
# 設(shè)置開機自動啟動
systemctl enable mysqld
如果啟動狀態(tài)如下,則說明MySQL服務(wù)已經(jīng)正常運行了。
5、查看進程
ps -ef | grep mysql
6、登錄及密碼配置
(1)、首先,查看安裝后隨機生成的MySQL密碼。
grep 'A temporary password' /var/log/mysqld.log
這里的密碼建議先進行復(fù)制,后面直接黏貼,不推薦手動輸入。
(2)、接著,登錄MySQL數(shù)據(jù)庫。
mysql -uroot -p
在上面的圖片中,在輸入密碼處黏貼前面復(fù)制的密碼。
特別注意:由于密碼不是明文顯示的,所以不會直接顯示,不要以為是鍵盤壞了或者什么情況。
(3)、修改驗證密碼的強度等級和長度
由于不支持設(shè)置簡單的密碼,如果出于學(xué)習(xí)的目的,想設(shè)置簡單好記的密碼,就需要進行下面的操作。
建議:工作環(huán)境下不建議設(shè)置簡單密碼。
首先執(zhí)行修改驗證密碼強度等級的命令,將等級設(shè)置為LOW,也就是低級的。命令如下:
set global validate_password_policy=LOW;
接著設(shè)置密碼的長度,這里需要設(shè)置多少位數(shù)的簡單密碼就設(shè)置多少位數(shù),我這里設(shè)置密碼為123456,所以設(shè)置長度為6。
set global validate_password_length=6;
到了這里,就能執(zhí)行設(shè)置密碼的命令了。
ALTER USER USER() IDENTIFIED BY '123456';
最后,退出數(shù)據(jù)庫,嘗試用設(shè)置的新密碼進行登錄。
重新進入數(shù)據(jù)庫,可以執(zhí)行一下簡單的命令測試一下。
show databases;
7、字符集編碼配置
首先,查看一下默認的字符集編碼;
show variables like '%char%';
接著,退出MySQL,停止MySQL服務(wù),再編輯配置文件。
systemctl stop mysqld
緊接著,開始修改配置文件。
vi /etc/my.cnf
在配置文件中找到[client]部分開始的內(nèi)容,修改如下。
# [client]
# 設(shè)置字符編碼
default-character-set=utf8
# [mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
如果沒有這一部分,則直接進行添加。
修改完成后,保存配置文件,并重啟MySQL服務(wù)。
systemctl restart mysqld
這里暫時跳過編碼測試的情況,后面遠程連接后直接測試中文的情況。
8、配置遠程連接
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
這個SQL命令的作用是授予具有完全權(quán)限的root用戶從任何地方連接到數(shù)據(jù)庫,密碼為123456,并允許其執(zhí)行任何數(shù)據(jù)庫操作。這是非常強大的權(quán)限,因此在生產(chǎn)環(huán)境中應(yīng)該小心使用,并確保只授予必要的權(quán)限以減少潛在的安全風(fēng)險。
上面的命令如果執(zhí)行出現(xiàn)如下錯誤,則參考下方的圖片進行處理即可。
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
最后,執(zhí)行一下下面的命令。
FLUSH PRIVILEGES;
該命令是一個SQL命令,它的作用是重新加載訪問控制權(quán)限,以確保最新的授權(quán)更改生效。
9、配置防火墻規(guī)則
配置完遠程連接權(quán)限后,需要配置一下防火墻規(guī)則。
首先查看防火墻的狀態(tài),確保防火墻處于啟動狀態(tài)。
systemctl status firewalld
接著,配置防火墻規(guī)則,命令如下:
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
這個命令的作用是將TCP端口3306添加到公共防火墻,3306端口通常用于MySQL數(shù)據(jù)庫服務(wù),這是允許從外部網(wǎng)絡(luò)連接到MySQL服務(wù)器的重要一步。
其中,參數(shù)–permanent表示設(shè)置為永久性的,即系統(tǒng)重啟后仍然保留此規(guī)則。
開放3306端口后,重新載入一下防火墻規(guī)則,執(zhí)行如下命令:
firewall-cmd --reload
到這里,就需要獲取一下系統(tǒng)的IP地址,執(zhí)行命令如下:
ifconfig
記住上面的IP地址,接下來就使用數(shù)據(jù)庫連接工具Navicat進行連接。
上面的圖片中,“主機”輸入CentOS系統(tǒng)的IP地址,端口使用3306,因為前面防火墻開放MySQL服務(wù)使用的是3306端口,用戶名即數(shù)據(jù)庫的用戶名,密碼即數(shù)據(jù)庫的密碼。
保證輸入正確后,點擊連接測試,軟件彈出連接成功。
10、測試建庫建表和字符集
使用Navicat遠程連接到數(shù)據(jù)庫后,手動進行建庫建表的操作,建表如下:
類型注意使用字符串類型,方便后面的測試。
表格創(chuàng)建完成后,插入任意中文字符數(shù)據(jù)。
數(shù)據(jù)插入后,回到Linux端,在MySQL數(shù)據(jù)庫中查詢數(shù)據(jù)表的數(shù)據(jù),以驗證中文字符集是否正常,保證中文字符不會出現(xiàn)亂碼的情況。
附:
MySQL版本查看命令
mysql -V
可見版本是5.7.43,其實早在第一步獲取軟件包的命令中就已經(jīng)指定了安裝MySQL 5.7的版本了。文章來源:http://www.zghlxwxcb.cn/news/detail-722578.html
到這里一切操作就完美結(jié)束了?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-722578.html
到了這里,關(guān)于【超詳細】CentOS 7安裝MySQL 5.7【安裝及密碼配置、字符集配置、遠程連接配置】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!