http://michael-wong.iteye.com/blog/976381(轉)
----------------------------------------
如果是MySQL 5.7
1)初始化數據庫
以管理員自身份打開CMD執行以下命令(注意必須以管理員身份打開,否則報錯)
mysqld --initialize --user=mysql --console
在控制檯消息尾部會出現隨機生成的初始密碼,記下來
2)進入mysql
輸入命令set password for root@localhost = password(‘123‘); (注意分號)
(新版的mysql數據庫下的user表中已經沒有Password字段了而是將加密後的用戶密碼存儲於authentication_string字段)
--------------------------------
到官網下載mysql-5.5.10-win32.zip,然後將mysql解壓到任意路徑,如:C:\mysql-5.5.10-win32
打開計算機->屬性->高級系統設置->環境變量,新建一個環境變量,變量名爲:MYSQL_HOME,變量值爲你的mysql根目錄,如:C:\mysql-5.5.10-win32
然後在系統變量Path中添加:;%MYSQL_HOME%\bin
在根目錄下面有幾個已經寫好的"my-"開頭的ini文件,選一個適合你的,如:my-small.ini。複製一份,將文件名修改爲my.ini,添加以下內容:
- [mysqld]
- #設置字符集爲utf8
- default-character-set = utf8
- basedir = C:/mysql-5.5.10-win32
- datadir = C:/mysql-5.5.10-win32/data
- [client]
- #設置客戶端字符集
- default-character-set = utf8
- [WinMySQLadmin]
- Server = C:/mysql-5.5.10-win32/bin/mysqld.exe
打開命令提示符,進入%MYSQL_HOME%/bin目錄,執行命令:mysqld -install將mysql安裝到windows的服務。執行成功後會提示:C:\mysql-5.5.10-win32\bin>Service successfully installed.
注意:(發生系統錯誤 2。
系統找不到指定的文件。
必須在bin下安裝服務
)
如果想要卸載服務執行命令:mysqld -remove。然後在命令提示符下執行:net start mysql就能啓動mysql了,停止服務輸入命令:net stop mysql。如果想設置mysql是否自動啓動,可以在開始菜單->運行中輸入service.msc打開服務管理進行設置。
第一次登錄的時候輸入:
C:\Users\Administrator>mysql -u root
修改密碼:
mysql> update mysql.user set password=PASSWORD('root') where User='root'
mysql> flush privileges
不過我在安裝過程中還是出了點小問題,啓動mysql的時候報錯:
系統出錯。
發生系統錯誤 1067。
進程意外終止。
打開%MYSQL_HOME%/data目錄下的用戶名.err文件,mysql的錯誤日誌就記錄在這個文件中。在裏面發現這樣一句話:
110327 0:12:02 [ERROR] MySQL: unknown variable 'default-character-set=utf8'
感覺很奇怪,以前一直都這樣安裝的。最後在mysql的官網上找到一篇中國DBA的求助信息,原來這是新版本的一個bug,不支持在my.ini中直接設置字符集爲utf8。解決辦法是:在default-character-set=utf8前面加上loose-即:
- [mysqld]
- #設置字符集爲utf8
- loose-default-character-set = utf8
- [client]
- #設置客戶端字符集
- loose-default-character-set = utf8
啓動果然不再報錯了。。。那份求助信息的原文地址:
http://forums.mysql.com/read.php?103,189835,237318
後記:
雖然使用上面的方式加入loose-以後,mysql啓動不再報錯了。但是在插入數據時依然出現了亂碼問題,給我造成了不小的麻煩。
mysql> show variables like '%char%';
通過以上命令查看字符集編碼,得到如下結果:
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | C:\mysql-5.5.10-win32\share\charsets\ |
+--------------------------+---------------------------------------+
可以看出character_set_database ,character_set_server 的編碼還是默認的latin1。
在[mysqld]配置選項下添加character-set-server = utf8,重啓服務進入mysql再次查看:
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\mysql-5.5.10-win32\share\charsets\ |
+--------------------------+---------------------------------------+
問題完美解決
二、mysql binlog使用
1、binlog日誌打開方法
mysql> show variables like 'log_%';
編輯D:\mysql-5.6.19-winx64\my.ini
[mysqld]
log-bin=/var/lib/mysql/mysql-bin-log
2、查看自己的binlog的名稱是什麼
mysql> show binary logs;
3.查看二進制日誌裏的操作記錄
mysql> show binlog events;
4、用mysqlbinlog 工具來顯示記錄的二進制結果,然後導入到文本文件
mysqlbinlog --no-defaults d:\\mysql_log_bin.000001 > c:\\test1.txt