由于需要修復(fù)漏洞不得不對(duì)數(shù)據(jù)庫版本進(jìn)行升級(jí),看了好多教程以下是個(gè)人整理的一些記錄
注:我這邊是從5.7.32——>5.7.39版本
1.升級(jí)前要先備份舊的數(shù)據(jù)
(1)先記錄一下mysql的安裝路徑
//查看mysql安裝路徑
select @@basedir as basePath from dual;
//查看mysql
data數(shù)據(jù)存放路徑 show global variables like ‘%datadir%’;
(2)把查到的路徑先記錄在一個(gè)文檔里
??備份數(shù)據(jù)庫:mysqldump -uroot -proot -h127.0.0.1 -P3306 --all-databases > “F:\MySQL\MySQL Server 5.0\data\backup.sql”
注意:備份路徑可以更改到別的文件夾下,加引號(hào)是由于不加執(zhí)行會(huì)報(bào)錯(cuò),P大寫后跟端口號(hào)
2.下載最新的mysql5.7壓縮包。
?下載地址:https://dev.mysql.com/downloads/mysql/
?最新的mysql5.7的壓縮包解壓開你會(huì)發(fā)現(xiàn),沒有data目錄和my.ini文件,跟之前的版本不一樣。
(最好和之前的舊版本放在一個(gè)目錄下,下面是我放的地址)
??把舊版本下的data和my.ini 文件復(fù)制到新版本mysql5.7的目錄下
3.將現(xiàn)有的mysql關(guān)閉。使用cmd窗口,進(jìn)入到mysql目錄下面,將mysql服務(wù)移除。
F:\MySQL\MySQL Server 5.0\bin>mysqld --remove mysql Service
successfully removed.
將data文件夾下的文件清空,否則安裝初始化時(shí)會(huì)報(bào)錯(cuò)
my.ini中,老版本的配置,有一些在版本5.7下面已經(jīng)不能用了。
將mysql.ini文件配置做以下修改。
復(fù)制粘貼時(shí)記得把上面雙斜杠中間的空格去掉,我這邊是為了展示出來加了空格
[mysqld]
#設(shè)置mysql的安裝目錄[根據(jù)本地情況進(jìn)行修改]
basedir=F:\ \MySQL\ \mysql-5.7.39-winx64
#設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄[根據(jù)本地情況進(jìn)行修改]
datadir=F:\ \MySQL\ \mysql-5.7.39-winx64\ \data
#設(shè)置3306端口
port = 3306
#允許最大連接數(shù)
max_connections=200
#服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
#創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
#設(shè)置mysql客戶端默認(rèn)字符集
[mysql]
#設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
4.配置環(huán)境變量
5.打開cmd,切換至新版本5.7安裝目錄的bin目錄下
安裝mysql 服務(wù),輸入mysqld install
F:\MySQL\mysql-5.7.39-winx64\bin>mysqld install
Service successfully installed.
6.初始化data目錄,輸入 mysqld -initialize
7.啟動(dòng)mysql服務(wù),輸入 net start mysql
F:\MySQL\mysql-5.7.39-winx64\bin>mysqld --initialize
F:\MySQL\mysql-5.7.39-winx64\bin>net start mysql
MySQL 服務(wù)正在啟動(dòng) ..
MySQL 服務(wù)已經(jīng)啟動(dòng)成功。
8.登錄mysql數(shù)據(jù)庫
mysql -uroot -p
部分人可能登錄上因原密碼過于簡(jiǎn)單,需要用alter修改一下密碼
alter user ‘root’@‘localhost’ identified by ‘密碼’;
然后導(dǎo)入之前備份的數(shù)據(jù)庫腳本就好啦
最后:簡(jiǎn)單說一下會(huì)遇到的問題,
1.有些Windows系統(tǒng)使用升級(jí)包進(jìn)行升級(jí)的時(shí)候在執(zhí)行mysqld install 時(shí)會(huì)報(bào)錯(cuò) " 找不到vcruntime140_1.dll ”
此時(shí)需要查看其存放位置
然后對(duì)下載存放在改目錄下
vcruntime140_1.dll下載地址:vcruntime140_1.dll 免費(fèi)下載 | DLL?files.com
解壓后將
vcruntime140_1.dll復(fù)制到C:\Windows\System32,注意, 32位版本的
vcruntime140_1.dll需要復(fù)制到
C:\Windows\SysWOW64下。
2.啟動(dòng)時(shí)會(huì)報(bào)錯(cuò):
F:\MySQL\mysql-5.7.39-winx64\bin>net start mysql
MySQL 服務(wù)正在啟動(dòng) ..
MySQL 服務(wù)無法啟動(dòng)。
服務(wù)沒有報(bào)告任何錯(cuò)誤。
請(qǐng)鍵入 NET HELPMSG 3534 以獲得更多的幫助。
需要把復(fù)制過來的data目錄下文件清空
然后到bin目錄下執(zhí)行mysqld --remove mysql
最后再次重復(fù)安裝步驟
3.初始化data目錄,輸入 mysqld -initialize 時(shí)報(bào)錯(cuò),需要看看my.ini的配置
F:\MySQL\mysql-5.7.39-winx64\bin>mysqld --initialize
mysqld: Can't create/write to file '鈥淔:\MySQL\mysql-5.7.39-winx64\data鈥漒is_writable' (Errcode: 2 - No such file or directory)
2022-09-09T04:00:08.483909Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-09-09T04:00:08.484079Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2022-09-09T04:00:08.484093Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2022-09-09T04:00:08.486914Z 0 [ERROR] Can't find error-message file 'F:\MySQL\mysql-5.7.39-winx64\bin\鈥淔:\MySQL\mysql-5.7.39-winx64鈥漒share\errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.
2022-09-09T04:00:08.493849Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.
2022-09-09T04:00:08.495312Z 0 [ERROR] Aborting
是my.ini 文件配置的問題。文件目錄路徑寫的是單斜杠導(dǎo)致的,路徑改成雙斜杠,再次執(zhí)行初始化命令就OK了。文章來源:http://www.zghlxwxcb.cn/news/detail-659420.html
寫在最后:以上為我最小化版本時(shí)遇到的問題及解決辦法,如果有不足及不對(duì)的地方,歡迎指出并補(bǔ)充,謝謝啦。文章來源地址http://www.zghlxwxcb.cn/news/detail-659420.html
到了這里,關(guān)于windows下升級(jí)mysql數(shù)據(jù)庫版本(壓縮包升級(jí))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!