欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何解決MySQL5.7.30安裝與升級(jí)問題

小編這次要給大家分享的是如何解決MySQL 5.7.30安裝與升級(jí)問題,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

目前創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、容城網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

楔子

由于之前電腦上安裝的MySQL版本是比較老的了,大概是5.1的版本,不支持JSON字段功能。而最新開發(fā)部門開發(fā)的的編輯器產(chǎn)品,使用到了JSON字段的功能。 因此需要升級(jí)MySQL版本,升級(jí)的目標(biāo)版本是MySQL 5.7.30(雖然最新版本已經(jīng)到8.x,但是5.7基本夠用了)。 發(fā)現(xiàn)在升級(jí)安裝過(guò)程中,會(huì)有一些坑,所以使用本文記錄一下。

卸載老版本

首先需要卸載老的版本,卸載其實(shí)也挺簡(jiǎn)單,只需要移除MySQL服務(wù)即可,首先打開CMD,然后cd到MySQL的bin目錄,然后輸入下面的命令移除MySQL服務(wù):

mysqld --remove mysql
//需要注意的是: “msyql” 是服務(wù)名稱,安裝的時(shí)候如果沒有指定服務(wù)名稱,
//默認(rèn)名稱是MySQL(windows下不區(qū)分大小寫);
// 如果安裝的時(shí)候指定了名稱,上面的名稱需要修改為該指定的名稱。

如何解決MySQL 5.7.30安裝與升級(jí)問題

需要注意的一點(diǎn)是,我們刪除了MySQL服務(wù)之后,有可能在windows的服務(wù)的列表里面還有,保留在哪兒也沒啥影響,但是如果你又潔癖,一定要?jiǎng)h除,就需要去刪除注冊(cè)表中對(duì)應(yīng)鍵,參考下圖。當(dāng)然對(duì)于我們升級(jí)來(lái)說(shuō),后續(xù)還需要安裝windows服務(wù),可以直接覆蓋。

注冊(cè)表的圖

然后刪除老的MySQL相關(guān)文件夾,以及刪除相關(guān)的環(huán)境變量的配置。

需要注意的是,如果數(shù)據(jù)文件和MySQL程序在一個(gè)文件夾下,需要保留數(shù)據(jù)

安裝5.7.30版本

接下來(lái)就是安裝5.7.30版本,第一步是下載。

下載MySQL

下載地址是:https://dev.mysql.com/downloads/mysql/
點(diǎn)擊上面鏈接,進(jìn)入到下載頁(yè)面,由于最新的版本是8.x,所以默認(rèn)是8.x的版本。可以通過(guò)點(diǎn)擊“Looking for the latest GA
version ”選擇版本,然后下載免安裝版本:

如何解決MySQL 5.7.30安裝與升級(jí)問題

解壓MySQL

下載完成后,解壓到你想要安裝的目錄,比如我的目錄是:
D:\Program Files (x86)\mysql-5.7.30-winx64

如何解決MySQL 5.7.30安裝與升級(jí)問題

配置環(huán)境變量

在系統(tǒng)變量path后面追加D:\Program Files (x86)\mysql-5.7.30-winx64\bin,如圖所示。

如何解決MySQL 5.7.30安裝與升級(jí)問題

創(chuàng)建配置文件my.ini

5.7.30版本的安裝包默認(rèn)是不帶配置文件my.ini的。所以需要?jiǎng)?chuàng)建自己創(chuàng)建一個(gè)my.ini的文件。手動(dòng)創(chuàng)建my.ini文件,然后輸入如下內(nèi)容:

[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8

[mysqld]
# 設(shè)置3306端口
port = 3306
# 設(shè)置mysql安裝目錄
basedir=D:\Program Files (x86)\mysql-5.7.30-winx64
# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)存放目錄
datadir=D:\Program Files (x86)\mysql-5.7.30-winx64\data
# 運(yùn)行最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 參加新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB

此處會(huì)有一些坑,需要避免。

my.ini注意事項(xiàng)一

my.ini必須保存為ANSI格式(配置文件默認(rèn)就是是ANSI編碼格式,可能會(huì)不小心保存為其他格式,比如UTF-8),否正會(huì)出現(xiàn)后續(xù)的服務(wù)不能啟動(dòng)的情況。 如果你不確定my.ini是什么格式,可以另存為:

如何解決MySQL 5.7.30安裝與升級(jí)問題

my.ini注意事項(xiàng)二

如果是從低版本升級(jí)到5.7的版本,可能為了保留之前的配置,就直接把之前的配置文件拷貝過(guò)來(lái)。這個(gè)時(shí)候就要注意了,因?yàn)橐郧昂芏嗟桶姹镜膮?shù),已經(jīng)不適合高版本的。如果不修改過(guò)來(lái),就會(huì)導(dǎo)致后續(xù)的服務(wù)啟動(dòng)失敗。

比如筆者遇到的一個(gè)導(dǎo)致錯(cuò)誤的參數(shù)是:

#table_cache=256 // 低版本的
table_open_cache=256 // 高版本的

如果一定要保留老版本的配置,又對(duì)于新版本的參數(shù)修改不是很熟悉,那么可以再配置文件中把日志功能假設(shè),這樣再報(bào)錯(cuò)的時(shí)候,可以通過(guò)查看日志了解詳情。 如下配置日志路徑即可:

log_error=D:/mysql-5.7/error.log

然后啟動(dòng)失敗后,可以通過(guò)日志查看報(bào)錯(cuò),比如:

如何解決MySQL 5.7.30安裝與升級(jí)問題

更多可能的錯(cuò)誤參數(shù):

unknown variable 'key-buffer=256M' //去掉改項(xiàng)即可。

unknown variable 'table-cache=512'  //修改為table_open_cache即可。

unknown variable 'thread-concurrency=8' //去掉改項(xiàng),5.7已結(jié)廢棄。

windows 服務(wù)啟動(dòng)失敗,不會(huì)把錯(cuò)誤詳情標(biāo)識(shí)出來(lái),只會(huì)簡(jiǎn)單說(shuō)一句服務(wù)啟動(dòng)失敗。 只能通過(guò)配置日志文件來(lái)查看。

如何解決MySQL 5.7.30安裝與升級(jí)問題

安裝MySQL服務(wù)

最重要的一步就是安裝MySQL服務(wù)。 首先進(jìn)入cmd界面,CD到MySQL的bin目錄(注意此處一定要到bin目錄下去執(zhí)行),執(zhí)行如下命令:

mysqld --install [服務(wù)名稱,默認(rèn)是MySQL]

截圖如下:

如何解決MySQL 5.7.30安裝與升級(jí)問題

執(zhí)行命令后,會(huì)提示服務(wù)安裝成功。

注意事項(xiàng)一

需要注意的是,有可能出現(xiàn)Install/Remove of the Service Denied! 的提示錯(cuò)誤。
原因:普通用戶模式權(quán)限下的cmd安裝mysql會(huì)出現(xiàn)這樣的報(bào)錯(cuò)提示。通過(guò)管理員模式運(yùn)行cmd即可:

如何解決MySQL 5.7.30安裝與升級(jí)問題

其他步驟如果出現(xiàn)沒有執(zhí)行權(quán)限的情況,也都請(qǐng)用管理員省份運(yùn)行即可。

注意事項(xiàng)二

有些電腦會(huì)出現(xiàn)找不到MSVCP120.dll的錯(cuò)誤:

如何解決MySQL 5.7.30安裝與升級(jí)問題

這種錯(cuò)誤是由于未安裝 vcredist 引起的
下載 vcredist 地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
安裝,位置默認(rèn)即可,安裝成功之后,重新安裝服務(wù)即可。

初始化MySQL

MySQL5.7是不帶data目錄的,所以需要初始化MySQL,生產(chǎn)data目錄,也比較簡(jiǎn)單,執(zhí)行如下命令即可:

mysqld --initialize-insecure --user=mysql

需要注意的是,有的文章介紹的是此處用 “mysqld --initialize”, “mysqld --initialize-insecure”和 “mysqld --initialize”的區(qū)別在于前者會(huì)創(chuàng)建一個(gè)空密碼,而后者會(huì)創(chuàng)建一個(gè)隨機(jī)密碼。 因此用 “mysqld --initialize”,最好加上 “–console”,可以把隨機(jī)密碼打印出來(lái)(注意 “–console”僅限于windows)

如何解決MySQL 5.7.30安裝與升級(jí)問題

如何解決MySQL 5.7.30安裝與升級(jí)問題

–user=msyql 主要用于在linux或者unix系統(tǒng)下給與把data目錄授權(quán)給mysql賬號(hào),在windows 下可以不必使用,帶上也無(wú)所謂。

數(shù)據(jù)初始化參考鏈接:https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/data-directory-initialization.html

初始化完成后,會(huì)生成data目錄。

注意事項(xiàng)一

如果初始化出現(xiàn)錯(cuò)誤:“–initialize specified but the data directory has files in it. Aborting. ” 那是因?yàn)槟憧赡苁謩?dòng)創(chuàng)建了data目錄,并且里面包含了文件(比如升級(jí)可能這樣操作),此時(shí)要做的就是刪除data目錄即可,至于升級(jí),可以后續(xù)考慮。

此時(shí)說(shuō)的data目錄,是指 my.ini文件里面 指定的目錄 ,未必是mysql安裝文件下的目錄:
datadir=D:\Develop\MySQL\mysql-8.0.12-winx64\data

啟動(dòng)MySQL服務(wù)

windows下啟動(dòng)MySQL服務(wù),可以使用如下命令即可:

net start MySQL

如何解決MySQL 5.7.30安裝與升級(jí)問題

設(shè)置MySQL服務(wù)密碼

使用mysqladmin可以設(shè)置密碼。啟動(dòng)MySQL服務(wù)之后,輸入如下命令:

如何解決MySQL 5.7.30安裝與升級(jí)問題

輸入老的密碼(通過(guò)前面操作,老密碼為空),然后輸入新的密碼,確認(rèn)新的密碼,即可設(shè)置成功。

注意事項(xiàng)一

如果前面初始化的時(shí)候未初始化未空密碼,又不小心忘記了初始化密碼,會(huì)出現(xiàn)下面的問題,無(wú)法登陸及修改密碼:
“Access denied for user ‘root'@‘localhost'”

通過(guò)如下步驟解決:

添加skip-grant-tables

再配置文件my.ini中添加skip-grant-tables:

如何解決MySQL 5.7.30安裝與升級(jí)問題

重啟MySQL服務(wù)

先停止MySQL服務(wù),然后再啟動(dòng)MySQL服務(wù),即可:

如何解決MySQL 5.7.30安裝與升級(jí)問題

修改密碼

首先登陸mysql,此時(shí)不需要密碼,如下:

如何解決MySQL 5.7.30安裝與升級(jí)問題

通過(guò)sql語(yǔ)句修改密碼,首先 use mysql ;然后update 更新密碼:

如何解決MySQL 5.7.30安裝與升級(jí)問題

然后退出mysql即可。

刪除skip-grant-tables 重啟MySQL服務(wù)

首先從my.ini中刪除skip-grant-tables ,然后 net stop mysql, net start mysql 重啟服務(wù)。

MySQL老數(shù)據(jù)升級(jí)到5.7

要升級(jí)老數(shù)據(jù),如果是從5.x版本升級(jí)上來(lái),基本上只需要把相關(guān)的數(shù)據(jù)文件拷貝到data文件夾下。需要注意的是,如果使用了 innodb,還需要把“ibdata”等文件拷貝過(guò)來(lái)。 否正會(huì)報(bào)表不存在的情況:

error: 1146: Table 'a_content' doesn't exist

innodb是MYSQL數(shù)據(jù)庫(kù)一種流行的數(shù)據(jù)庫(kù)引擎,支持事務(wù)(行級(jí)),ibdata用來(lái)儲(chǔ)存文件的數(shù)據(jù),而庫(kù)名的文件夾里面的那些表文件只是結(jié)構(gòu)而已,由于新版的mysql默認(rèn)試innodb,所以ibdata1文件默認(rèn)就存在了,少了這個(gè)文件有的數(shù)據(jù)表就會(huì)出錯(cuò)。

如果升級(jí)過(guò)程中,存在數(shù)據(jù)損壞,可以使用repair命令進(jìn)行修復(fù):

repair table tablename

正常經(jīng)過(guò)上述操作,就可以了,如果還有問題,可以嘗試使用升級(jí)命令mysql_upgrade對(duì)數(shù)據(jù)進(jìn)行升級(jí)(也建議使用改命令升級(jí),不然后續(xù)出問題,可能會(huì)不好定位)
https://dev.mysql.com/doc/refman/5.7/en/mysql-upgrade.html

//升級(jí)mysql,mysql_upgrade檢查不兼容的表,更新grant表;
mysql_upgrade -uroot -p

升級(jí)速度具體看data目錄的大小情況而定。

看完這篇關(guān)于如何解決MySQL 5.7.30安裝與升級(jí)問題的文章,如果覺得文章內(nèi)容寫得不錯(cuò)的話,可以把它分享出去給更多人看到。

文章題目:如何解決MySQL5.7.30安裝與升級(jí)問題
地址分享:http://chinadenli.net/article12/jiiidc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站動(dòng)態(tài)網(wǎng)站網(wǎng)站制作響應(yīng)式網(wǎng)站做網(wǎng)站用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)