win10平臺mysql5.6.34免安裝版(綠色版zip)的配置以及密碼和編碼設定

dzuvi發表於2017-02-23

我的部落格園地址:http://www.cnblogs.com/pdzbokey/p/6080845.html

平臺:win10 X64

  mysql: mysql-5.6.34-winx64.zip

以下所寫都是本人測試過的,力爭無誤。上次釋出了,可是發現了一些問題,特地查了一下官方文件(我會說我是用有道詞典翻譯的嗎)

特此修正

1. 下載mysql免安裝版

  下載地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

2. 配置

  將下載的zip解壓,如解壓到 C:\tools\databases\mysql-5.6.34-winx64,這個路徑也就是你mysql的根目錄

3.環境變數的配置

  win10的小娜用作搜尋還是挺不錯的

  

  在系統環境變數中加入mysql根目錄下的bin,即C:\tools\databases\mysql-5.6.34-winx64\bin

  不過你也可以先配一個mysql_home,然後再在path中這樣配置 %mysql_home%\bin,像這樣也是可以的

  我以第一種方式配置的,如下圖:

  

 

4. 修改配置檔案,文件上有這麼一段

  

  就是說把my-default.ini複製一份並命名為my.ini(命名為my.cnf也是可以的,文件上有,不過my.ini的優先順序要高點)

  然後用記事本開啟my.ini編輯,找到basedir和datadir去掉前面的#進行編輯,配置如下:

  

  注意是斜槓,或者用兩個反斜槓也可以,我第一次釋出時這裡弄錯了,哈哈

 

5. 先來一個臨時測試,由於此時mysql服務還沒有安裝到系統中,但可以用mysqld來測試,由於配置了環境變數,直接在命令列輸入mysqld即可

  會出現一個警告

  

  這個視窗不要關(好吧,其實關了也可以),用管理員重開一個命令視窗,直接輸入mysql -u root即可進入mysql,預設沒有密碼

 

6. 配置服務並啟動

  需要用管理員身份啟動命令列視窗,怎樣用管理員身份啟動呢?在開始選單右鍵你就可以看到了

  

  在安裝服務之前,需要把你剛才的mysqld關掉,使用命令

  

  由於配置了環境變數,直接輸入mysqladmin -u root shutdown即可

  然後安裝服務到系統中,文件上是這樣的 :

  

  有環境變數,隨便哪個目錄都可以咯,可是我直接用一個橫線也可以,像這樣:

  mysqld -install,不過還是按照文件來,就是mysqld --install 這個命令安裝mysql服務

  然後輸入命令net start mysql,這個命令用來啟動mysql服務,服務名可以改,不過還是不改了

  

   停止服務和解除安裝服務的命令也順便說一下:

  停止服務:net stop mysql

  解除安裝服務:mysqld --remove

 

7. 啟動服務後,測試一下

  

 

8. 密碼設定

  服務啟動後就大功告成了。可以用了,不過預設是沒有密碼的,所以這樣登入:mysql -uroot,表示用root使用者登入

  沒有密碼不太安全(總覺得少了點什麼),那就配置一下密碼,

  先看一下官方提供的3中設定密碼的方式

  

  最後一種不推薦,他也說了,最後一種可能有無效。

  

  簡單的就我的理解分析一下,先看下面的

  show databases;

  

 

  use mysql;

  show tables;這裡面表比較多

  

 

  我們要看的是user表, 裡面欄位很多,只看幾個欄位就夠了

  select host, user, password from user;

  

  裡面本來還有一個user為空字串的使用者,被我刪掉了。然後只需要給使用者新增密碼就行了

  不過要注意:這個修改密碼可不是那種常規的sql語句,先說正確的

  update user set password = password("123") where user = "root";

  flush privileges;

  其中123是你的新密碼,然後重新整理使密碼生效

  

  然後登入, mysql -uroot -p123, 如果你要直接用這種輸密碼的方式登入,注意p和123中間沒有空格,否則系統會要求你再次輸入密碼

  好了,再說一下,如果你改密碼是這樣改的:update user set password = "123" where user = "root";

  那可能就要悲劇了,關於原因我有個猜測,檢視我們剛才修改成功的密碼,你會發現並不是123(至少顯示的不是123),這說明是密碼是加密的,如果你直接把密碼改成看得到的123,那真實密碼可能並不是123。

  這個就是我的猜測。但是有的同學可能一不小心就弄錯了,所以這裡也提供解決方法

 

9. 重置密碼

  我為了測試,也故意弄錯了,解決方法參考這篇文章:http://www.jb51.net/article/77855.htm

  我總結一下,就是這樣的:

    1. 進入mysql根目錄下的bin目錄, 命令我前面有提到

    2. 停止mysql服務:net stop mysql

    3. 輸入命令: mysqld --skip-grant-tables  (注意不要加分號)

    4. 不要關閉此視窗,另開一個命令列視窗,直接用mysql -uroot登入(此時密碼失效了),執行第6步正確的修改密碼的方法就行了

    5. 我測試這個重置密碼的方法一次開機只能使用一次,如果你要第2次重置密碼,請重啟電腦後再試

 

10. 設定編碼

  由於mysql的預設的編碼可能對我們不適用,所以可以改為utf8,只需要在my.ini中配置一下就可以了

  首先在mysqld下設定character-set-server = utf8

  

  然後再在末尾設定客戶端的預設編碼default-character-set = utf8

  

  然後重啟一下服務,在命令列中檢視一下:

  

  可以看到除了filesystem以外其他的編碼都是utf8,filesystem的編碼不用改,這樣就可以了

 

  好了,mysql的配置到這裡就算完了,希望大家也多研究一下官方文件,如果有什麼錯誤遺漏的請指出,謝謝。

相關文章