-
互聯(lián)網(wǎng)安全法,互聯(lián)網(wǎng)凈網(wǎng)行動(dòng)
-
”凈網(wǎng)2020”落實(shí)好維護(hù)網(wǎng)絡(luò)安全責(zé)任
-
關(guān)于端午節(jié)放假通知-宇眾網(wǎng)絡(luò)
-
宇眾網(wǎng)絡(luò)春節(jié)放假通知
-
關(guān)于公司收款銀行賬戶變更通知函-宇眾網(wǎng)絡(luò)
-
關(guān)于網(wǎng)上有人冒充我公司名義進(jìn)行詐騙的公告。
-
關(guān)于端午節(jié)放假通知,節(jié)日放假,但是我們業(yè)務(wù)不“放假”-宇眾網(wǎng)絡(luò)
-
工信部進(jìn)一步加強(qiáng)未備案網(wǎng)站管理工作的通知-宇眾網(wǎng)絡(luò)
-
關(guān)于東莞市宇眾網(wǎng)絡(luò)科技有限公司香港數(shù)據(jù)中心(香港機(jī)房)路由優(yōu)化通知
-
宇眾網(wǎng)絡(luò)慶祝五·一勞動(dòng)節(jié)快樂(lè)
-
東莞東城機(jī)房網(wǎng)絡(luò)升級(jí)通知
-
臨近過(guò)年,互聯(lián)網(wǎng)IDC貴圈也有被騙的,請(qǐng)認(rèn)準(zhǔn)宇眾網(wǎng)絡(luò)公司官方聯(lián)系方式
-
我司已獲得ISP/ICP/IDC三證資格,更好的為客戶服務(wù)
-
關(guān)于浙江金華高防機(jī)房網(wǎng)絡(luò)線路切割通知
-
工信部近日下發(fā)關(guān)于進(jìn)一步規(guī)范域名備案工作的通知
行業(yè)資訊
- 首頁(yè)
- 新聞中心
- 行業(yè)資訊
CentOS7系統(tǒng)安裝MySQL指導(dǎo)手冊(cè)
MySQL數(shù)據(jù)庫(kù)安裝
安裝環(huán)境: 騰訊云:Centos7系統(tǒng),1核1GB內(nèi)存,1M帶寬,磁盤50G
一、安裝前準(zhǔn)備
引言:Centos7版本將MySQL數(shù)據(jù)庫(kù)軟件從默認(rèn)的程序列表中移除,使用mariadb代替。在使用yum進(jìn)行安裝前需要先安裝yum源
下載yum源并進(jìn)行安裝
step1:通過(guò)官網(wǎng)獲取yum下載源,然后使用wget工具進(jìn)行獲取。
step 2:將官網(wǎng)生成的下載鏈接復(fù)制到wget命令后
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
- 1
step 3:安裝倉(cāng)庫(kù)
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
- 1
安裝MySQL數(shù)據(jù)庫(kù)
注:安裝MySQL數(shù)據(jù)庫(kù)(默認(rèn)安裝的是最新版本5.7,如果考慮內(nèi)存,可以安裝5.6,相對(duì)于5.7版本,5.6安裝包會(huì)小很多)
step 1:安裝MySQL
yum install mysql-community-server
- 1
補(bǔ)充: 在MySQL
Yum存儲(chǔ)庫(kù)中(http://repo.mysql.com/yum/
),MySQL社區(qū)服務(wù)器的不同版本系列托管在不同的子倉(cāng)庫(kù)中。默認(rèn)情況下,最新的GA系列(目前為MySQL
5.7)的子倉(cāng)庫(kù)已啟用(enabled),默認(rèn)情況下禁用所有其他系列(例如,MySQL 5.6系列)的子倉(cāng)庫(kù)(disabled)。使用
yum repolist all | grep mysql
可以查看MySQL Yum存儲(chǔ)庫(kù)中的所有子倉(cāng)庫(kù)
注:由上圖可見(jiàn)5.7版本標(biāo)記為“啟用”,默認(rèn)“啟用”,所有,若想安裝最新版本的mysql穩(wěn)定版本可以之間安裝,無(wú)需配置yum install mysql-community-server
- 1
若想用其他版本的mysql,需要進(jìn)行配置,如使用mysql 56版本,執(zhí)行如下命令:(Centos7支持yum-config-manager命令)
yum-config-manager –disable mysql57-community
- 1
yum-config-manager –enable mysql56-community
- 1
在任何時(shí)間只能啟用一個(gè)版本系列的子鏈接。當(dāng)啟用了多個(gè)版本系列的子倉(cāng)庫(kù)時(shí),Yum將使用最新的系列。查看已經(jīng)啟用的子倉(cāng)庫(kù)可以使用一下命令:
yum repolist enble | grep mysql
- 1
Step 2:?jiǎn)?dòng)MySQL服務(wù)
剛剛完成mysql的安裝,mysql默認(rèn)是沒(méi)有啟動(dòng)的,可以通過(guò)下面命令進(jìn)行查看
查看mysql服務(wù)狀態(tài)
systemctl status mysqld.service
- 1
查看當(dāng)前的mysql服務(wù)器狀態(tài)是關(guān)閉的
啟動(dòng)mysql服務(wù)后,查看mysql服務(wù)狀態(tài):
systemctl start mysqld.service
systemctl status mysqld.service
- 1
- 2
補(bǔ)充:
關(guān)閉mysql服務(wù):systemctl stop mysqld.service
重啟mysql服務(wù):systemctl restart mysqld.service
Step 3:增強(qiáng)MySQL
mysql在安裝完成之后,默認(rèn)情況下,MySQL將綁定到localhost(127.0.0.1)。允許在公共IP上不受限制地訪問(wèn)MySQL是不推薦的,一般來(lái)說(shuō)會(huì)去修改
/etc/my.cnf
配置文件中的bind-address
參數(shù)來(lái)更改其監(jiān)聽(tīng)的地址。如果決定將MySQL綁定到公共IP,應(yīng)該實(shí)現(xiàn)只允許來(lái)自特定IP地址的連接的防火墻規(guī)則
mysql5.7在yum安裝的時(shí)候已經(jīng)默認(rèn)安裝該安全增強(qiáng),但是需要進(jìn)行密碼的修改;而mysql5.6是需要進(jìn)行mysql增強(qiáng)的設(shè)置的。
mysql 5.7修改密碼:
1.查看臨時(shí)密碼
首次安裝mysql后,會(huì)分配一個(gè)臨時(shí)密碼,通過(guò)如下命令進(jìn)行查看
grep "password" /var/log/mysqld.log
- 1
2.登錄mysql
mysql -uroot -p
輸入臨時(shí)密碼
3.修改密碼
直接進(jìn)行密碼的修改,會(huì)由于密碼的安全度不滿足報(bào)錯(cuò):
alter user 'root'@'localhost' identified by '123456';
錯(cuò)誤如下:
若是修改簡(jiǎn)單的密碼,可執(zhí)行如下操作進(jìn)行規(guī)避這個(gè)錯(cuò)誤:
set global validate_password_policy=0;
set global validate_password_length=1;
修改完成后,進(jìn)行密碼的修改:
alter user 'root'@'localhost' identified by '123456'
密碼修改完成,可使用新密碼進(jìn)行登錄。
知識(shí)點(diǎn)補(bǔ)充:MySQLvalidate_password_policy策略介紹
*MySQL默認(rèn)安裝了密碼安全檢查插件(
validate_password
),默認(rèn)密碼檢查策略要求密碼必須包含:大小寫字母、數(shù)字和特殊符號(hào),并且長(zhǎng)度不能少于8位。修改密碼時(shí)新密碼是否符合當(dāng)前的策略,不滿足則會(huì)提示ERROR
1819 (HY000): Your password does not satisfy the current policy requirements錯(cuò)誤
![]()
0 or LOW
:校驗(yàn)級(jí)別最低,只校驗(yàn)密碼長(zhǎng)度,只要長(zhǎng)度跟validate_password_length一樣即可,默認(rèn)長(zhǎng)度是8位。
1 or MEDIUM
:滿足validate_password_policy=0,并且必須含有數(shù)字,小寫或大寫字母,特殊字符。
2 or STRONG
:滿足0,1的要求,且密碼中任意連續(xù)4個(gè)(或4個(gè)讓上)字符不得是字典中的單詞修改
validate_password_policy set global validate_password_policy=0;
查詢修改后的validate_password_policy
select @@validate_password_policy;
查看密碼長(zhǎng)度validate_password_length的值
select @@validate_password_length;
> validate_password_length參數(shù)默認(rèn)為8,它有最小值的限制,最小值為:
validate_password_number_count
• validate_password_special_char_count
• validate_password_mixed_case_count * 2
不管設(shè)置validate_password_length=1,還是2,3,4 ,密碼長(zhǎng)度實(shí)際值都是4。超過(guò)4后為設(shè)置的值。mysql5.7.x中密碼控制的變量
Policy Tests Performed 默認(rèn)值 說(shuō)明 validate_password_policy medium 用于驗(yàn)證validate_password的驗(yàn)證策略 validate_password_length 8 密碼長(zhǎng)度的最小值(最小值4) validate_password_number_count 1 密碼中數(shù)字最少個(gè)數(shù) validate_password_mixed_case_count 1 密碼中大小寫字符最少個(gè)數(shù) validate_password_special_char_count 1 密碼中特殊字符最小個(gè)數(shù) validate_password_dictionary_file 字典文件
mysql5.6安全增強(qiáng)
程序mysql_secure_installation 允許執(zhí)行重要操作,如設(shè)置root密碼,刪除匿名用戶。始終運(yùn)行它以確保mysql5.6安裝:
mysql_secure_installation
Step 4:數(shù)據(jù)庫(kù)授權(quán)
數(shù)據(jù)庫(kù)沒(méi)有授權(quán),只支持localhost本地訪問(wèn)??赏ㄟ^(guò)如下命令進(jìn)行授權(quán):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
授權(quán)后,刷新
flush privileges;
Step 5:設(shè)置開(kāi)啟自啟動(dòng)
systemctl enble mysqld
systemctl daemon-reload
Step 6:修改MySQL字符集
修改mysql字符集字符設(shè)置應(yīng)用于服務(wù)器范圍,并應(yīng)用于任何應(yīng)用程序創(chuàng)建的數(shù)據(jù)庫(kù)的默認(rèn)值,以及在這些數(shù)據(jù)庫(kù)中創(chuàng)建的表。
修改MySQL的配置文件my.cnf,文件默認(rèn)位置:/etc/my.cnf
vi /etc/my.cnf
在[mysqld]結(jié)束位置添加:
character_set_server=utf8
collation-server=utf8_general_ci
Step 7:重啟MySQL,檢查生效
重啟mysql服務(wù)
***停止命令:***
systemctl stop mysqld.service
***啟動(dòng)命令:***
systemctl start mysqld.service
***查看狀態(tài):***
systemctl status mysqld.service
***查看修改后的mysql字符集***
show variables like ‘character_set_%’
重啟前:
重啟后:
Step 8:遠(yuǎn)程連接MySQL
遠(yuǎn)程連接mysql:
Mysql賬戶登錄權(quán)限相關(guān)的知識(shí):
1、 mysql服務(wù)器中用戶的信息保存在數(shù)據(jù)庫(kù)名為mysql的數(shù)據(jù)庫(kù)中的user表中,輸入下列命令可查看用戶的登錄權(quán)限。
select distinct concat(‘User:”’,user,”’@”’,host,”’;’) as query from mysql.user;
2、 創(chuàng)建遠(yuǎn)程連接用戶 wzg密碼 123456任何主機(jī)上訪問(wèn)數(shù)據(jù)庫(kù) dbTest該數(shù)據(jù)庫(kù)的所有操作權(quán)限
登錄mysql:
mysql -uroot –p
mysql> create database dbTest;
mysql> create user ‘wzg’@’%’ identified by ‘123456’;
報(bào)錯(cuò):
修改密碼校驗(yàn)級(jí)別:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
重新創(chuàng)建用戶:
mysql> create user ‘wzg’@’%’ identified by ‘123456’;
給新建用戶授權(quán):
grant all on dbTest.* to 'wzg' identified by '123456';
知識(shí)點(diǎn)補(bǔ)充:
create user ‘xxx’ @ ’%’ identified by‘xxx’;
xxx分別表示用戶名和密碼,這里的 % 百分號(hào)表示任意IP主機(jī)
create user ‘xxx’ @ ’139.199.201.55’ identified by‘xxx’;
%百分號(hào)可以用具體的IP地址代替,那么該用戶就只能從該指定的ip主機(jī)上連接mysql服務(wù)器
create user ‘xxx’ @ ’localhost’ identified by ‘xxx’;
標(biāo)記為localhost那么就只能從服務(wù)器上訪問(wèn)mysql數(shù)據(jù)庫(kù),禁止遠(yuǎn)程連接
grant all
表示授予所有權(quán)限,但是不建議授予所有權(quán)限。對(duì)于普通用戶,建議使用GRANT SELECT,INSERT,UPDATE,DELETE
。
on dbTest.*
表示授予的范圍為dbchen數(shù)據(jù)庫(kù)的所有表。當(dāng)然你也可以指定某個(gè)特定的表,例如僅指定student表 on dbchen.student
mysql> flush privileges;
//刷新一下
對(duì)于用戶的增刪改以及權(quán)限控制,實(shí)際上都是操作mysql.user這張表,按正常的來(lái)就可以了