程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL數據庫常用操作

MySQL數據庫常用操作

編輯:MySQL綜合教程

MySQL數據庫常用操作


服務器操作(cmd)


開啟服務器(必須保證mysql為windows服務):net start mysql56(此處與系統進程中名字相同)

查看進程表中是否存在: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

MySQL存儲blob數據包太大

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來解讀,那麼就會出現亂碼
其它編碼只要支持中文即可,也就是說不能使用latin1

控制台亂碼問題

插入或修改時出現亂碼:

這時因為cmd下默認使用GBK,而character_set_client不是GBK的原因。我們只需讓這兩個編碼相同即可。
因為修改cmd的編碼不方便,所以我們去設置character_set_client為GBK即可。

查詢出的數據為亂碼:
這是因為character_set_results不是GBK,而cmd默認使用GBK的原因。我們只需讓這兩個編碼相同即可。
因為修改cmd的編碼不方便,所以我們去設置character_set_results為GBK即可。 設置變量的語句:
set character_set_client=gbk;
set character_set_results=gbk;
注意,設置變量只對當前連接有效,當退出窗口後,再次登錄mysql,還需要再次設置變量。
為了一勞永逸,可以在my.ini中設置:
設置default-character-set=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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved