查看進程表中是否存在:mysqld.exe進程(存在)
關閉服務器(必須保證mysql為windows服務):net stop mysql56
查看進程表中是否存在:mysqld.exe進程(不存在)
客戶登操作
cmd
1. 登錄服務器:mysql -uroot -p123 -hlocalhost//-hlocalhost可省略,他是默認的
-u:後面跟隨用戶名
-p:後面跟隨密碼
-h:後面跟隨IP
2. 退出服務器:exit或quit
數據庫導出SQL腳本
mysqldump –u用戶名 –p密碼 數據庫名>生成的腳本文件路徑
例如:mysqldump -uroot -p123 mydb1>C:\mydb1.sql (與mysql.exe和mysqld.exe一樣, 都在bin目錄下)
注意,不要打分號,不要登錄mysql,直接在cmd下運行
注意,生成的腳本文件中不包含create database語句
執行SQL腳本
第一種方式
mysql -u用戶名 -p密碼 數據庫<腳本文件路徑
先刪除mydb1庫,再重新創建mydb1庫 mysql -uroot -p123 mydb1
例如:
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (9802817 > 1048576). You can change this value on the server by setting the max_allowed_packet’ variable.
在my.ini中設置,在[mysqld]下添加max_allowed_packet=10M,例如:
[mysqld]
max_allowed_packet=64M
查看MySQL數據庫編碼
SHOW VARIABLES LIKE ‘char%’;編碼解釋
character_set_client:MySQL使用該編碼來解讀客戶端發送過來的數據,例如該編碼為UTF8,那麼如果客戶端發送過來的數據不是UTF8,那麼就會出現亂碼 character_set_results:MySQL會把數據轉換成該編碼後,再發送給客戶端,例如該編碼為UTF8,那麼如果客戶端不使用UTF8來解讀,那麼就會出現亂碼控制台亂碼問題
查詢出的數據為亂碼:這時因為cmd下默認使用GBK,而character_set_client不是GBK的原因。我們只需讓這兩個編碼相同即可。
因為修改cmd的編碼不方便,所以我們去設置character_set_client為GBK即可。
指定默認編碼
我們在安裝MySQL時已經指定了默認編碼為UTF8,所以我們在創建數據庫、創建表時,都無需再次指定編碼。
為了一勞永逸,可以在my.ini中設置:
設置character-set-server=utf8即可。
character_set_client | utf8 –> mysql把我們客戶端傳遞的數據都當成是utf8!一是給它傳遞utf8,二是如果我們傳遞的是gbk,那麼需要修改這個變量為gbk
character_set_connection | utf8
character_set_database | utf8
character_set_results | utf8 –> mysql發送給客戶端的數據都是utf8的。一是客戶端用utf8編碼,二是如果客戶端使用gbk來編碼,那麼需要修改這個變量為gbk的。
character_set_server | utf8
character_set_system | utf8