【轉】 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後面的就是遠端登入密碼,遠端登入密碼可以和使用者密碼不一樣