根據(jù)搜集的資料安裝測(cè)試并在安裝測(cè)試過(guò)程中整理的文檔诱贿,部分參考文檔在相應(yīng)位置有標(biāo)記添忘。如有不足希望多多指出
一算柳、配置yum源
1.下載mysql源安裝包
在MySQL官網(wǎng)中下載YUM源rpm安裝包:http://dev.mysql.com/downloads/repo/yum/
復(fù)制下載鏈接:https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
本次下載目錄為:/home/目錄嗜愈,因此進(jìn)入:cd /home
執(zhí)行下載命令:
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2.安裝mysql源
下載完成后使用下面命令安裝源:
yum localinstall mysql80-community-release-el7-1.noarch.rpm
3.檢查是否安裝成功
4.修改安裝版本(非必須)
如果需要安裝指定版本的mysql张遭,可以修改/etc/yum.repos.d/mysql-community.repo源,改變默認(rèn)安裝的mysql版本菊卷。
例如要安裝5.7版本,將5.7源的enabled=0改成enabled=1洁闰,將8.0的enabled=1改成enabled=0即可歉甚,如下(本次未做修改扑眉,直接安裝最新版8.0.12):
二雅镊、安裝mysql
直接使用命令:yum install mysql-community-server即可。
3.設(shè)置開(kāi)機(jī)啟動(dòng)
systemctl enable mysqld
systemctl daemon-reload
四、配置及部分命令
mysql安裝完成之后耸弄,在/var/log/mysqld.log文件中給root生成了一個(gè)默認(rèn)密碼计呈。通過(guò)下面的方式找到root默認(rèn)密碼,然后登錄mysql進(jìn)行修改:
grep 'temporary password' /var/log/mysqld.log
本地MySQL客戶端登錄
mysql -uroot -p
密碼是上一步查詢(xún)出來(lái)的捌显。輸入后回車(chē)。
然后修改密碼:
ALTERUSER'root'@'localhost'IDENTIFIEDBY'Test@123';
或者?
set password for 'root'@'localhost'=password('Test@123');
注意:mysql5.7默認(rèn)安裝了密碼安全檢查插件(validate_password)理肺,默認(rèn)密碼檢查策略要求密碼必須包含:大小寫(xiě)字母善镰、數(shù)字和特殊符號(hào),并且長(zhǎng)度不能少于8位乎完。否則會(huì)提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯(cuò)誤品洛,如下圖所示:
通過(guò)msyql環(huán)境變量可以查看密碼策略的相關(guān)信息(執(zhí)行這一步需要先修改默認(rèn)密碼,即執(zhí)行完上一步修改才可以帽揪,否則會(huì)報(bào)錯(cuò):ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.):
執(zhí)行如下命令
alter user user() identified by '你的新密碼';
show variables like '%password%';
validate_password_policy:密碼策略辅斟,默認(rèn)為MEDIUM策略
validate_password_dictionary_file:密碼策略文件砾肺,策略為STRONG才需要
validate_password_length:密碼最少長(zhǎng)度
validate_password_mixed_case_count:大小寫(xiě)字符長(zhǎng)度,至少1個(gè)
validate_password_number_count :數(shù)字至少1個(gè)
validate_password_special_char_count:特殊字符至少1個(gè)
上述參數(shù)是默認(rèn)策略MEDIUM的密碼檢查規(guī)則变汪。
修改密碼策略:
在/etc/my.cnf文件添加validate_password_policy配置,指定密碼策略:
選擇0(LOW)实胸,1(MEDIUM),2(STRONG)其中一種庐完,選擇2需要提供密碼字典文件。
validate_password_policy=0
如果不需要密碼策略门躯,添加my.cnf文件中添加如下配置禁用即可:
validate_password = off
重新啟動(dòng)mysql服務(wù)使配置生效:systemctl restart mysqld
2.添加遠(yuǎn)程登錄用戶
默認(rèn)只允許root帳戶在本地登錄,如果要在其它機(jī)器上連接mysql染乌,必須修改root允許遠(yuǎn)程連接懂讯,或者添加一個(gè)允許遠(yuǎn)程連接的帳戶。
修改root用戶遠(yuǎn)程訪問(wèn)權(quán)限:
選擇 mysql 數(shù)據(jù)庫(kù):use mysql;
在 mysql 數(shù)據(jù)庫(kù)的 user 表中查看當(dāng)前 root 用戶的相關(guān)信息:
select host, user from user;
查看表格中 root 用戶的 host,默認(rèn)應(yīng)該顯示的 localhost瘫里,只支持本地訪問(wèn),不允許遠(yuǎn)程訪問(wèn)盐须。
授權(quán) root 用戶的所有權(quán)限并設(shè)置遠(yuǎn)程訪問(wèn)
GRANT ALL ON *.* TO 'root'@'%';
如果報(bào)錯(cuò):ERROR 1410 (42000): You are not allowed to create a user with GRANT
則使用:
update user set host='%' where user ='root';
然后使用下面命令使修改生效:
flush? privileges;
如有需要再執(zhí)行之前授權(quán)報(bào)錯(cuò)的命令即可成功漆腌,最后同樣使用flush privileges;命令刷新。
3.sqlyog鏈接時(shí)出現(xiàn)2058異常
完成上面的配置使用sqlyog鏈接時(shí)會(huì)出現(xiàn)2058的異常塑径,此時(shí)我們需要修改mysql填具,命令行登錄mysql(與修改密碼中登錄相同,使用修改后的密碼)誉简,然后執(zhí)行下面的命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
其中password為自己修改的密碼盟广。然后SQLyog中重新連接,則可連接成功烹吵,OK。
如果報(bào)錯(cuò):ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'則使用下面命令:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
4.修改默認(rèn)編碼方式
mysql8.0默認(rèn)編碼方式為utf8mb4锈津,因此使用時(shí)不需要修改凉蜂,可使用如下命令查看:
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
如果需要修改其他編碼方式,方法有很多,以下僅為舉例爆存。
比如需要修改為utf8mb4蝗砾,可以使用如下方式:
修改mysql配置文件my.cnf(windows為my.ini)
my.cnf一般在etc/mysql/my.cnf位置。找到后請(qǐng)?jiān)谝韵氯糠掷锾砑尤缦聝?nèi)容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
重啟mysql即可闲勺。
collation_connection 扣猫、collation_database 、collation_server是什么沒(méi)關(guān)系癌幕。但必須保證以下這幾個(gè)變量必須是utf8mb4昧穿。:
character_set_client? (客戶端來(lái)源數(shù)據(jù)使用的字符集)
character_set_connection???? (連接層字符集)
character_set_database?? (當(dāng)前選中數(shù)據(jù)庫(kù)的默認(rèn)字符集)
character_set_results (查詢(xún)結(jié)果字符集)
character_set_server (默認(rèn)的內(nèi)部操作字符集)
數(shù)據(jù)庫(kù)連接參數(shù)中:
characterEncoding=utf8會(huì)被自動(dòng)識(shí)別為utf8mb4,也可以不加這個(gè)參數(shù)胶逢,會(huì)自動(dòng)檢測(cè)饰潜。
而autoReconnect=true是必須加上的。
5.部分參數(shù)配置查詢(xún)命令
#查詢(xún)mysql最大連接數(shù)設(shè)置
show global variables like 'max_conn%';
SELECT @@MAX_CONNECTIONS AS 'Max Connections';
# 查看最大鏈接數(shù)
show global status like 'Max_used_connections';
# 查看慢查詢(xún)?nèi)罩臼欠耖_(kāi)啟以及日志位置
show variables like 'slow_query%';
# 查看慢查詢(xún)?nèi)罩境瑫r(shí)記錄時(shí)間
show variables like 'long_query_time';
# 查看鏈接創(chuàng)建以及現(xiàn)在正在鏈接數(shù)
show status like 'Threads%';
# 查看數(shù)據(jù)庫(kù)當(dāng)前鏈接
show processlist;
# 查看數(shù)據(jù)庫(kù)配置
show variables like '%quer%';
五某筐、徹底卸載mysql
1.卸載軟件
yum remove mysql-community-server
完成后使用rpm -qa|grep mysql命令查看冠跷,如果有查詢(xún)結(jié)果身诺,則使用yum remove 名稱(chēng)清理掉霉赡。如圖:
再使用命令rpm -qa | grep -i mysql查看幔托,如果有結(jié)果使用rpm -e?名稱(chēng)卸載。例如:
2.刪除文件
rm -rf /var/lib/mysql
rm /etc/my.cnf
rm -rf /usr/share/mysql-8.0
如果需要重新安裝嗓化,在安裝完成啟動(dòng)之前可以先對(duì)mysql目錄賦予權(quán)限防止異常發(fā)生:
chmod -R777/var/lib/mysql