CentOS7下安裝mysql5.7 一、安裝YUM Repo 1、由于CentOS 的yum源中沒有mysql,需要到mysql的官網(wǎng)下載yum repo配置文件。 下載命令: wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 1 2、然后進(jìn)行repo的安裝: rpm -ivh mysql5
CentOS7下安裝mysql5.7
一、安裝YUM Repo
1、由于CentOS 的yum源中沒有mysql,需要到mysql的官網(wǎng)下載yum repo配置文件。
下載命令:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2、然后進(jìn)行repo的安裝:
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
執(zhí)行完成后會(huì)在/etc/yum.repos.d/目錄下生成兩個(gè)repo文件mysql-community.repo mysql-community-source.repo
二、使用yum命令即可完成安裝
注意:必須進(jìn)入到 /etc/yum.repos.d/目錄后再執(zhí)行以下腳本
1、安裝命令:
yum install mysql-server --nogpgcheck
2、啟動(dòng)msyql:
systemctl start mysqld
3、獲取安裝時(shí)的臨時(shí)密碼(在第一次登錄時(shí)就是用這個(gè)密碼):
grep 'temporary password' /var/log/mysqld.log
三,登錄:
1、方式一(已驗(yàn)證):
mysql -u root -p
然后輸入密碼(剛剛獲取的臨時(shí)密碼)
2、方式二(未驗(yàn)證):
進(jìn)入mysql數(shù)據(jù)庫(kù)
root@test:/home# mysql -uroot -proot
<uroot是用戶名,proot是密碼>
3、若登錄不了,則進(jìn)行以下配置,跳過登錄驗(yàn)證
3.1、重置密碼的第一步就是跳過MySQL的密碼認(rèn)證過程,方法如下:
vim /etc/my.cnf
(注:windows下修改的是my.ini)
在文檔內(nèi)搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim編輯狀態(tài)下直接輸入該命令可搜索文本內(nèi)容)
在[mysqld]后面任意一行添加“skip-grant-tables”用來(lái)跳過密碼驗(yàn)證的過程,如下圖所示:

3.2、保存文檔并退出:
#:wq
3.3、接下來(lái)我們需要重啟MySQL:
四、登錄成功后修改密碼
1、注意:這里會(huì)進(jìn)行密碼強(qiáng)度校驗(yàn)(密碼設(shè)置時(shí)必須包含大小寫字母、特殊符號(hào)、數(shù)字,并且長(zhǎng)度大于8位)
2、如不滿足以上條件則會(huì)報(bào)錯(cuò),如下圖:
密碼策略問題異常信息: ERROR 1819 (HY000): Your password does not satisfy the
current policy requirements

3、解決辦法:
3.1、查看 mysql 初始的密碼策略,
SHOW VARIABLES LIKE 'validate_password%
輸入語(yǔ)句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 進(jìn)行查看,
如下圖:

3.2、首先需要設(shè)置密碼的驗(yàn)證強(qiáng)度等級(jí),設(shè)置 validate_password_policy 的全局參數(shù)為 LOW 即可,
set global validate_password_policy=LOW;
輸入設(shè)值語(yǔ)句 “ set global validate_password_policy=LOW; ” 進(jìn)行設(shè)值,
3.3、當(dāng)前密碼長(zhǎng)度為 8 ,如果不介意的話就不用修改了,按照通用的來(lái)講,設(shè)置為 6 位的密碼,設(shè)置 validate_password_length 的全局參數(shù)為 6 即可
set global validate_password_length=6;
輸入設(shè)值語(yǔ)句 “ set global validate_password_length=6; ” 進(jìn)行設(shè)值,
3.4、現(xiàn)在可以為 mysql 設(shè)置簡(jiǎn)單密碼了,只要滿足六位的長(zhǎng)度即可,
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
輸入修改語(yǔ)句 “ ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’; ” 可以看到修改成功,表示密碼策略修改成功了!!!
3.5、注:在默認(rèn)密碼的長(zhǎng)度最小值為 4 ,由 大/小寫字母各一個(gè) + 阿拉伯?dāng)?shù)字一個(gè) + 特殊字符一個(gè),
只要設(shè)置密碼的長(zhǎng)度小于 3 ,都將自動(dòng)設(shè)值為 4 ,
3.6、關(guān)于 mysql 密碼策略相關(guān)參數(shù);
1)、validate_password_length 固定密碼的總長(zhǎng)度;
2)、validate_password_dictionary_file 指定密碼驗(yàn)證的文件路徑;
3)、validate_password_mixed_case_count 整個(gè)密碼中至少要包含大/小寫字母的總個(gè)數(shù);
4)、validate_password_number_count 整個(gè)密碼中至少要包含阿拉伯?dāng)?shù)字的個(gè)數(shù);
5)、validate_password_policy 指定密碼的強(qiáng)度驗(yàn)證等級(jí),默認(rèn)為 MEDIUM;
關(guān)于 validate_password_policy 的取值:
LOW:只驗(yàn)證長(zhǎng)度;
1/MEDIUM:驗(yàn)證長(zhǎng)度、數(shù)字、大小寫、特殊字符;
2/STRONG:驗(yàn)證長(zhǎng)度、數(shù)字、大小寫、特殊字符、字典文件;
6)、validate_password_special_char_count 整個(gè)密碼中至少要包含特殊字符的個(gè)數(shù);
五、修改密碼
1、方式一(已驗(yàn)證):
ALTER USER 'root'@'localhost' IDENTIFIED BY '@abcd123456';
2、方式二(未驗(yàn)證)
set password=password("yourpassword");
六、開啟遠(yuǎn)程控制
MySQL默認(rèn)是沒有開啟遠(yuǎn)程控制的,必須添加遠(yuǎn)程訪問的用戶,即默認(rèn)是只能自己訪問,別的機(jī)器是訪問不了的。
1、方式一(已驗(yàn)證):
1.1、連接服務(wù)器:
mysql -u root -p
1.2、看當(dāng)前所有數(shù)據(jù)庫(kù):
show databases;
1.3、進(jìn)入mysql數(shù)據(jù)庫(kù):
use mysql;
1.4、查看mysql數(shù)據(jù)庫(kù)中所有的表:
show tables;
1.5、查看user表中的數(shù)據(jù):
select Host, User,Password from user;
1.6、修改user表中的Host:
update user set Host='%' where User='root';
說(shuō)明: % 代表任意的客戶端,可替換成具體IP地址。
1.7、最后刷新一下:
flush privileges;
1.8、注意:一定要記得在寫sql的時(shí)候要在語(yǔ)句完成后加上" ; "
2、方式二(未驗(yàn)證):
1、使用 grant 命令
grant all privileges on 數(shù)據(jù)庫(kù)名.表名 to 創(chuàng)建的用戶名(root)@“%” identified by “密碼”;
2、格式說(shuō)明:
數(shù)據(jù)庫(kù)名.表名 如果寫成*.*代表授權(quán)所有的數(shù)據(jù)庫(kù) flush privileges; #刷新剛才的內(nèi)容
如:
grant all privileges on . to root@“113.123.123.1” identified by “123456789”;
@ 后面是訪問mysql的客戶端IP地址(或是 主機(jī)名) % 代表任意的客戶端,如果填寫 localhost 為本地訪問(那此用戶就不能遠(yuǎn)程訪問該mysql數(shù)據(jù)庫(kù)了)
七、其他配置
1、設(shè)置安全選項(xiàng):
mysql_secure_installation
2、關(guān)閉MySQL
systemctl stop mysqld
3、重啟MySQL
systemctl restart mysqld
4、查看MySQL運(yùn)行狀態(tài)
systemctl status mysqld
5、設(shè)置開機(jī)啟動(dòng)
systemctl enable mysqld
6、關(guān)閉開機(jī)啟動(dòng)
systemctl disable mysqld
7、配置默認(rèn)編碼為utf8:
vi /etc/my.cnf #添加 [mysqld] character_set_server=utf8 init_connect=‘SET NAMES utf8’
其他默認(rèn)配置文件路徑:
配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服務(wù)啟動(dòng)腳本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid
8、查看版本
select version();
參考:https://blog.csdn.net/wohiusdashi/article/details/89358071
(責(zé)任編輯:admin)本文地址:
http://www.bmm520.net/info/LinuxServer/2023/1027/24088.html