win10下MySQL多版本安裝采坑記錄

0x00前言

由于這幾天要參加一個(gè)互聯(lián)網(wǎng)+的比賽 由于需要用到python django 的框架 但是發(fā)現(xiàn)django 2.2 與我 mysql 5.5 的版本無法兼容導(dǎo)致我django在遷移數(shù)據(jù)庫的時(shí)候總是遷移失敗 沒辦法又不想把原來的那個(gè)數(shù)據(jù)庫卸載 所以經(jīng)大牛指點(diǎn) 多版本可以兼容 故花了幾個(gè)小時(shí)搗鼓了出來

0x01數(shù)據(jù)庫5.5版本重設(shè)過程

首先我想要安裝新的數(shù)據(jù)庫我想著那先把之前的那個(gè)數(shù)據(jù)庫的服務(wù)給停了吧 便輸入 net stop mysql 結(jié)果cmd里面跳出來一段文字說我這個(gè)服務(wù)名無效 這說明我之前數(shù)據(jù)庫也沒有弄好啊 所以先把老版本的東西給整清楚唄? 首先進(jìn)入到數(shù)據(jù)庫的bin文件夾下 輸入mysqld --install 進(jìn)行一個(gè)安裝 如果安裝成功會(huì)顯示成功安裝 然后再net start mysql 又不對(duì)了 新的問題顯示 您的服務(wù)無法啟動(dòng) 也沒有錯(cuò)誤 這個(gè)我是通過對(duì)mysql下的data進(jìn)行初始化解決的 就是在命令行輸入? mysqld --initialize 這是講data初始化成密碼為root 的賬號(hào) 然后我們使用net stop mysql 把服務(wù)停掉進(jìn)行我們重頭戲 mysql 8.0 的安裝 (由于博客是最后寫的所以前面的圖片并沒有截圖有可能看起來不直觀 后面mysql 的安裝會(huì)附圖 也會(huì)更加的詳細(xì))

0x02數(shù)據(jù)庫8.0版本安裝過程

首先從mysql官網(wǎng)下載mysql8.0的版本 我這里用的不是msi格式是壓縮包解壓出來

解壓出來的時(shí)候mysql8.0 是沒有 my.ini 這個(gè)數(shù)據(jù)庫配置文件 所以這里是需要自行添加 代碼如下

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

# *** default location during install, and will be replaced if you

# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

#log_bin

# These are commonly set, remove the # and set as required.

basedir = D:\mysql8.0

datadir = D:\mysql8.0\data

port = 3307

server_id = 1

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

join_buffer_size = 128M

sort_buffer_size = 2M

read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

然后把basedir和datadir修改成你自己的路徑 由于之前那個(gè)數(shù)據(jù)庫是用3306 端口的 所以這里我把端口修改成3307 這樣就不對(duì)端口沖突了? 通過管理員打開cmd 進(jìn)入到mysql bin的文件夾下 輸入 mysqld --defaults-file=D:\mysql8.0\my.ini --initialize --console

由于當(dāng)時(shí)沒有截圖? 所以這里是拿網(wǎng)上的圖片 然后箭頭指的地方是你的數(shù)據(jù)庫密碼要先記錄下來? 這里是初始化數(shù)據(jù)庫的data 下面我按照網(wǎng)上的教程來總會(huì) 服務(wù)啟動(dòng)不了 所以便自己來 輸入? mysqld --install mysql2 這里我定義mysql8.0 的服務(wù)名是mysql2 你也可以換成別的名字 然后顯示安裝成功 ok

下一步我們要在注冊(cè)表里面修改路徑因?yàn)椴恍薷牡脑?這個(gè)路徑其實(shí)還是指向原來那個(gè)數(shù)據(jù)庫的所以我們要進(jìn)行修改 運(yùn)行窗口 -> regedit 進(jìn)入到注冊(cè)表 ->HKEY_LOCAL_MACHINE進(jìn)入到這個(gè)文件夾 ->SYSTEM找到這個(gè) ->CurrentControlSet進(jìn)入到這個(gè)->services進(jìn)入到這個(gè) ->然后在這里面找到你設(shè)置的mysql服務(wù) 找到image path

然后將數(shù)值數(shù)據(jù)換成你的mysql8.0的路徑 然后net start mysql2 ok服務(wù)成功啟動(dòng)? 然后通過之前保存的密碼 通過 mysql -uroot -p -P 3307 回車輸入密碼進(jìn)行進(jìn)入

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

flush privileges; 進(jìn)行修改密碼 但是由于mysql8 的密碼是用了一個(gè)加密模塊的 所以在下次登錄會(huì)顯示報(bào)錯(cuò) 我在網(wǎng)上找了很多但是發(fā)現(xiàn) 大多數(shù)都是通過使用以前的密碼類型 也就是不使用加密模塊的 來解決? ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '111111';? 其實(shí)個(gè)人認(rèn)為這樣不是很好 但是一時(shí)又沒有找到 加插件的方法所以先用了如上的方法? 解決

好不容易弄完之后想著重啟一下吧看看還正不正常 結(jié)果 !?。?果然出問題了 我原來的一個(gè)mysql服務(wù)一直顯示正在啟動(dòng)中 差了些資料 應(yīng)該是還有殘余 程序 所以

tasklist| findstr "mysql"? 列出殘余項(xiàng)目進(jìn)程

taskkill/f /t /im mysqld.exe? 管理員cmd下 全部停止運(yùn)行? 然后再net start mysql 就可以了

成功~~~~

參考文章http://www.itdecent.cn/p/980758da320a

https://blog.csdn.net/Mint6/article/details/81038536

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容