這篇文章主要介紹了windows環(huán)境下mysql的解壓安裝及備份和還原,需要的朋友可以參考下
系統(tǒng)環(huán)境為server2012
1、下載mysql解壓版,解壓安裝包到指定目錄
2、在以上目錄中,復(fù)制一份my-default.ini文件,重命名為my.ini,進(jìn)行如下修改(按照需要):
[mysqld] #?服務(wù)端的編碼方式 character_set_server=utf8 #?These?are?commonly?set,?remove?the?#?and?set?as?required. #數(shù)據(jù)文件存放目錄 basedir?=?C:Program?Filesmysql #數(shù)據(jù)文件存放目錄 datadir?=?C:Program?Filesmysqldata port?=?3306 #?server_id?=?..... #?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 #?允許最大連接數(shù) max_connections=200
3、添加環(huán)境變量,將C:Program Filesmysqlbin添加到系統(tǒng)的環(huán)境變量Path中
4、在命令行中執(zhí)行命令mysqld -install
與之對(duì)應(yīng)的卸載命令:mysqld –remove
5、mysql數(shù)據(jù)初始化
執(zhí)行mysqld –initialize-insecure –user=mysql命令,創(chuàng)建一個(gè)空密碼的root賬戶。注意,如果執(zhí)行的是mysqld –initialize命令,則會(huì)創(chuàng)建一個(gè)隨機(jī)密碼用戶。
?
初始化數(shù)據(jù)會(huì)會(huì)在安裝目錄下產(chǎn)生一個(gè)數(shù)據(jù)文件夾,如下圖:
因?yàn)橐陨吓渲梦募械脑O(shè)置為datadir = C:Program Filesmysqldata,所以文件夾名稱為data。
6、運(yùn)行 net start mysql 啟動(dòng)服務(wù),
?
7、設(shè)置密碼。執(zhí)行 mysqladmin -u root -p password 新密碼 命令,為root用戶設(shè)置密碼。此處為123。
注意,Enter password 處輸入的是原密碼,此處為空。
?
8、登錄
?9、查看數(shù)據(jù)庫(kù)
?
10、設(shè)置遠(yuǎn)程登錄
?查看user表,如下:
?數(shù)據(jù)庫(kù)中執(zhí)行命令update user set host = ‘%’ where user = ‘root’;
?如下圖:
?
最好刷新一下權(quán)限mysql> flush privileges;
最后重新啟動(dòng)mysql服務(wù),就可以進(jìn)行遠(yuǎn)程登陸了(如果不能遠(yuǎn)程,重啟一下一般會(huì)解決)。
C:Program?Filesmysqlbin>net?stop?mysql MySQL?服務(wù)正在停止.. MySQL?服務(wù)已成功停止。 C:Program?Filesmysqlbin>net?start?mysql MySQL?服務(wù)正在啟動(dòng)?. MySQL?服務(wù)已經(jīng)啟動(dòng)成功。
11、忘記密碼處理
如下圖,打開(kāi)配置文件my.ini 在mysqld下面添加 skip-grant-tables,保存退出,并重啟mysql服務(wù)。
?
此后可以使用mysql -u root -p,不使用密碼進(jìn)行登錄,
之后進(jìn)入數(shù)據(jù)庫(kù),執(zhí)行 use mysql 命令切換到其中的mysql數(shù)據(jù)庫(kù)。
然后執(zhí)行如下命令
update?MySQL.user?set?authentication_string=password('123')?where?user='root'?; flush?privileges;
改好之后,重新修改my.ini這個(gè)文件,將加入的 skip-grant-tables 這行刪除,保存退出,重啟mysql服務(wù)。
值得注意的是,重新進(jìn)入數(shù)據(jù)庫(kù)可能會(huì)遇到1820錯(cuò)誤,要求重置密碼,如下圖,這個(gè)時(shí)候,只需要執(zhí)行命令 SET PASSWORD = PASSWORD(‘123’); 即可?
?
12、備份與還原
?為了測(cè)試,創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)mvc
?還原,語(yǔ)法如下:
mysql?-u?root?-p?[dbname]?<p>下圖的示例,還原mvc數(shù)據(jù)庫(kù)</p><p>執(zhí)行的命令是 mysql -u root -p mvc? </p><p style="text-align: center"><img src="https://img.php.cn/upload/article/000/000/194/38235cd52a157181a16bc5d73899f035-14.png" alt=""></p><p>?備份,語(yǔ)法如下:</p><p>備份一個(gè)數(shù)據(jù)庫(kù)多個(gè)表<br></p><p class="jb51code"><br></p><pre class="brush:sql;">mysqldump?-u?root?-p?dbname?table1?table2?...?>?bakname.sql
備份多個(gè)數(shù)據(jù)庫(kù) 加上了–databases選項(xiàng),后面跟多個(gè)數(shù)據(jù)庫(kù)
mysqldump?-u?root?-p?--databases?dbname1?dbname2...?>?bakname.sql
備份所有數(shù)據(jù)庫(kù)
mysqldump?-u?root?-p?-all-databases?>?bakname.sql
?下圖中的示例,只備份一個(gè)數(shù)據(jù)庫(kù)mvc,同時(shí)指定字符集為utf8
mysqldump?-u?root?-p?--default-character-set=utf8?mvc?>e:mvcbak.sql
?
通常,可以使用一些工具進(jìn)行數(shù)據(jù)備份與還原,例如Workbench
如果要定時(shí)將數(shù)據(jù)備份到其他服務(wù)器,可以使用mysqlbackupftp這個(gè)軟件。
總結(jié)