mysql資料庫,使用dos命令備份和解決編碼問題

2021-09-27 03:18:06 字數 1736 閱讀 4989

備份與恢復

資料庫 --> sql語句

sql語句 --> 資料庫

1. 資料庫匯出sql指令碼(備份資料庫內容,並不是備份資料庫!)

> mysqldump –u使用者名稱 –p密碼 資料庫名》生成的指令碼檔案路徑

> 例如:mysqldump -uroot -p123 mydb1>c:\mydb1.sql  (與mysql.exe和mysqld.exe一樣, 都在bin目錄下)

> 注意,不要打分號,不要登入mysql,直接在cmd下執行

> 注意,生成的指令碼檔案中不包含create database語句

2. 執行sql指令碼

第一種方式

> mysql -u使用者名稱 -p密碼 資料庫《指令碼檔案路徑

> 例如:

* 先刪除mydb1庫,再重新建立mydb1庫

* mysql -uroot -p123 mydb1 注意,不要打分號,不要登入mysql,直接在cmd下執行

第二種方式

> 登入mysql

> source sql指令碼路徑

> 例如:

* 先刪除mydb1庫,再重新建立mydb1庫

* 切換到mydb1庫

* source c:\mydb1.sql

編碼1. 檢視mysql資料庫編碼

* show variables like 'char%';

2. 編碼解釋

* character_set_client:mysql使用該編碼來解讀客戶端傳送過來的資料,例如該編碼為utf8,那麼如果客戶端傳送過來的資料不是utf8,那麼就會出現亂碼

* character_set_results:mysql會把資料轉換成該編碼後,再傳送給客戶端,例如該編碼為utf8,那麼如果客戶端不使用utf8來解讀,那麼就會出現亂碼

其它編碼只要支援中文即可,也就是說不能使用latin1

3. 控制台亂碼問題

* 插入或修改時出現亂碼:

> 這時因為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即可。

4. 指定預設編碼

我們在安裝mysql時已經指定了預設編碼為utf8,所以我們在建立資料庫、建立表時,都無需再次指定編碼。

為了一勞永逸,可以在my.ini中設定:

設定character-set-server=utf8即可。

[client]

port=3306

[mysql]

default-character-set=gbk /*它可以一勞永逸!它可以修改三個變數:client、results、connection*/

mysql資料庫,使用dos命令備份和解決編碼問題

備份與恢復 資料庫 sql語句 sql語句 資料庫 1.資料庫匯出sql指令碼 備份資料庫內容,並不是備份資料庫!mysqldump u使用者名稱 p密碼 資料庫名 生成的指令碼檔案路徑 例如 mysqldump uroot p123 mydb1 c mydb1.sql 與mysql.exe和mys...

DOS命令視窗操作MySQL資料庫

登入mysql mysql uroot proot檢視資料庫 show databases 建立資料庫 create database 資料庫名 運算元據前必須 使用資料庫 命令 use 資料庫名 刪除資料庫 drop database 資料庫名 建立資料庫和 建立 create database ...

資料庫的dos命令

mysqi 資料庫 理一下資料庫的格式 mysqi 關係型資料庫,表的概念 node.js 非關係性資料庫 json 結構 資料庫存放多張表,每個表可以存放多個字段,每個字段可以存放多個記錄 php 使用終端的方式,開啟資料庫 第一步 選項 mysqi 命令列 點選進入 第二步 終端的介面 輸入密碼...