安裝包下載並上傳到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后面的就是遠程登錄密碼,遠程登錄密碼可以和用戶密碼不一樣