1. 程式人生 > 實用技巧 >【轉】 centos7安裝mysql(完整)

【轉】 centos7安裝mysql(完整)

【轉】 centos7安裝mysql(完整)

安裝包下載並上傳到Linux系統中

官網5.7版本:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

可以使用xftp上傳到Linux中

解壓安裝包並安裝

使用tar命令解壓

tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

安裝新版mysql前,需將系統自帶的mariadb-lib解除安裝

rpm -qa|grep mariadb

mariadb-libs-5.5.60-1.el7_5.x86_64

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

為了避免出現許可權問題,給mysql解壓檔案所在目錄賦予最大許可權

chmod -R 777 mysql

嚴格按照順序安裝:mysql-community-common-5.7.29-1.el7.x86_64.rpm、mysql-community-libs-5.7.29-1.el7.x86_64.rpm、mysql-community-client-5.7.29-1.el7.x86_64.rpm、mysql-community-server-5.7.29-1.el7.x86_64.rpm這四個包

rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm

如果安裝過程中出現這個錯誤就在後面新增--force --nodeps,這可能是由於yum安裝了舊版本的GPG keys造成的

配置資料庫

vim /etc/my.cnf

新增這三行

skip-grant-tables
character_set_server=utf8
init_connect='SET NAMES utf8'

skip-grant-tables:跳過登入驗證

character_set_server=utf8:設定預設字符集UTF-8

init_connect='SET NAMES utf8':設定預設字符集UTF-8

啟動mysql 服務

設定開機啟動

systemctl start mysqld.service

啟動mysql

mysql

設定密碼和開啟遠端登入

設定密碼

先設定一個簡單的密碼

update mysql.user set authentication_string=password('123456') where user='root';

立即生效

flush privileges;

退出mysql並停止mysql服務

systemctl stop  mysqld.service

編輯my.cnf配置檔案將:skip-grant-tables這一行註釋掉

重啟mysql服務

systemctl start mysqld.service

再次登入mysql

mysql -uroot -p123456

如果輸入其他命令出錯,再重設密碼

set password=password('123456');

設定密碼策略(這步可以跳過)

如果想要設定簡單一點的密碼就要設定密碼策略,否則設定簡單的密碼會出錯

檢視密碼策略

 SHOW VARIABLES LIKE 'validate_password%'; 

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

set global validate_password_policy=LOW;

只要設定密碼的長度小於 3 ,都將自動設值為 4

 set global validate_password_length=4;

開放3306埠

開放埠

firewall-cmd --zone=public --add-port=3306/tcp --permanent

--zone #作用域
--add-port=80/tcp #新增埠,格式為:埠/通訊協議
--permanent #永久生效,沒有此引數重啟後失效

重啟防火牆

firewall-cmd --reload

開啟遠端登入

grant all privileges on *.* to 'root'@'%' identified by '123123' with grant option;

by後面的就是遠端登入密碼,遠端登入密碼可以和使用者密碼不一樣