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

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

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

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