Mysql 5.7.19 免安裝版遇到的坑(收藏)
1、從官網(wǎng)下載64位zip文件。
2、把zip解壓到一個(gè)位置,此位置為安裝為安裝位置
3、如果有以前的mysql 如果是install的,去控制面板卸載,還需要?jiǎng)h除以前mysql留下來的殘留文件。如果是免安裝的,用mysqld -remove
命令刪除 ,卸載以前的文件記得要保留里面的data文件夾和my.ini文件。(data文件里面的東西可以恢復(fù)用;my.ini文件里面是配置參考配置)
以前有mysql服務(wù)的話 需要去停掉mysql服務(wù)
4、新建一個(gè)my.ini文件。里面內(nèi)容和以前一樣。要修改:
no-beep(用#注釋掉) basedir="C:/Program Files/MySQL/mysql-5.7.19-winx64" datadir="C:/ProgramData/MySQL/mysql-5.7.19-winx64/data\"(生成新數(shù)據(jù)庫存放的地方) my.ini文件放到C:\mysql-5.7.19-winx64目錄下
5、執(zhí)行命令mysqld --initialize-insecure
出現(xiàn)2個(gè)問題 文件 一個(gè)是vs2013 c++的 一個(gè)是動(dòng)態(tài)鏈接庫的。
百度找這2個(gè)文件
msvcr120.dll vcredist_x64 .exe
6、dll放到system32下,exe直接運(yùn)行后安裝即可。然后再次運(yùn)行第5步操作命令。
7、又提示沒有對(duì)應(yīng)目錄。(Errcode: 2 - No such file or directory)
8、去對(duì)應(yīng)目錄自己手動(dòng)生成文件夾試試。
9、創(chuàng)建完后第5步命令終于好用了。去查看對(duì)應(yīng)目錄是否已經(jīng)生成。
10、成功生成后,使用命令mysqld --install mysql
(--default-file=C:\mysql-5.7.19-winx64\my.ini,
添了這句話。啟動(dòng)服務(wù)器會(huì)啟動(dòng)不了。mysqld -remove
,重新安裝后不要帶此參數(shù),這次可以正常啟動(dòng))
11、顯示Service successfully installed
.說明安裝成功??梢匀シ?wù)里看是否有mysql服務(wù)
12、啟動(dòng)服務(wù)
13、服務(wù)啟動(dòng)后需要登錄。但密碼是初始化的。所以我們要重新設(shè)置
14、在my.ini里[mysqld]下添加skip-grant-tables
,跳過權(quán)限,重啟服務(wù)
15、mysql -u root -p
直接就可以進(jìn)入了
16、UPDATE mysql.user SET authentication_string = PASSWORD('123456'), password_expired = 'N' WHERE User = 'root' AND Host = 'localhost'
;
17、再去my.ini里把剛才添加的skip-grant-tables注釋掉,重啟服務(wù)
18、mysql -u root -p
再次進(jìn)入 輸入剛才設(shè)置的密碼
19、show databases
;如果出現(xiàn)1820或者1862等錯(cuò)誤。說明密碼還需要重新設(shè)置 SET PASSWORD = PASSWORD('123456');
20、接下來是拷貝數(shù)據(jù)庫??截悢?shù)據(jù)庫之前需要停掉mysql服務(wù)
21、把以前的數(shù)據(jù)文件夾data,拷貝到C:/ProgramData/MySQL/mysql-5.7.19-winx64/data\
目錄下,記住最好不好覆蓋,把以前的data重命名即可,然后重新開啟mysql服務(wù)
22、管理員命令下啟動(dòng)CMD,執(zhí)行命令:
mysql_upgrade -u root -p --force
以前的數(shù)據(jù)恢復(fù)
23、注意以前mysql.user表里如果沒有'root'@'%',代表遠(yuǎn)程不可以訪問,需要修改遠(yuǎn)程訪問或者新建一個(gè)'root'@'%'('root'@'%'代表遠(yuǎn)程可以用root訪問,'root'@'loaclhost'代表只有本地可以訪問)
24、use mysql;
update user set host = '%' where user = 'root'; flush privileges; (下面步驟可以省略) select host, user from user; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; flush privileges;
25、設(shè)置好后其他機(jī)器可以訪問,建議最好新增一個(gè)'root'@'%',不是將以前的localhost改成%,這樣本地就不可以訪問了。
注意:修改了設(shè)置以后最好不要更換data,犯了一個(gè)錯(cuò)誤。把'root'@'loaclhost'改成了'root'@'%'后,然后把數(shù)據(jù)庫文件拷貝過來。但是此時(shí)提示local登錄不了。應(yīng)該是修改了設(shè)置以后不讓本地登錄了。所以要先把數(shù)據(jù)庫拷貝過來后,并把數(shù)據(jù)都恢復(fù)好,再做修改或者設(shè)置授權(quán)等。另外5.7.19版本授權(quán)好像和以前不一樣了還需要查查。移動(dòng)數(shù)據(jù)庫的時(shí)候移動(dòng)要切記備份。
my.ini文件如果拷貝以前的有可能有問題,好像最大連接數(shù)的問題。下面給個(gè)實(shí)例:
[mysqld] port=3306 basedir="C:/Program Files/MySQL/mysql-5.7.19-winx64" datadir="C:/ProgramData/MySQL/mysql-5.7.19-winx64/data\" max_connections=1000 character-set-server=utf8 default-storage-engine=INNODB lower_case_table_names = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #skip-grant-tables [client] port=3306 default-character-set=utf8 [mysql] default-character-set=utf8
總結(jié)
以上所述是小編給大家介紹的Mysql 5.7.19 免安裝版的遇到的坑,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)本站網(wǎng)站的支持!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。