mysqldump --opt -d 數據庫名 -u root -p > xxx.sql
#mysqldump 數據庫名 >數據庫備份名 #mysqldump -A -u用戶名 -p密碼 數據庫名>數據庫備份名 #mysqldump -d -A --add-drop-table -uroot -p >xxx.sql
mysqldump --opt -d 數據庫名 -u root -p > xxx.sql
mysqldump -t 數據庫名 -uroot -p > xxx.sql
mysqldump 數據庫名 -uroot -p --default-character-set=utf8 > xxx.sql
mysqldump -uroot -p -B 數據庫名 --table 表名 > xxx.sql
mysqldump -uroot -p -ntd -R 數據庫名 > xxx.sql
代碼以下: mysql
#mysql 數據庫名 < 文件名 #source /tmp/xxx.sql
導出數據時若是沒有指定存儲路徑,則存放到mysql的bin目錄下 sql
可以使用mysqldump --help查看各參數 數據庫
奇怪錯誤處理:
下面是導出存儲過程的代碼
1 # mysqldump -u 數據庫用戶名 -p -n -t -d -R 數據庫名 > 文件名
其中,-d 表示--no-create-db, -n表示--no-data, -t表示--no-create-info, -R表示導出function和procedure。因此上述代碼表示僅僅導出函數和存儲過程,不導出表結構和數據。可是,這樣導出的內容裏,包含了 trigger。再往mysql中導入時就會出問題,錯誤以下:
ERROR 1235 (42000) at line **: This version of MySQL doesn't yet support ‘multiple triggers with the same action time and event for one table’
因此在導出時須要把trigger關閉。代碼爲
1 # mysqldump -u 數據庫用戶名 -p -n -t -d -R --triggers=false 數據庫名 > 文件名
這樣導入時,會出現新的問題:
ErrorCode:1418
This function has none of DETERMINISTIC, NOSQL, or READS SQL DATA inits declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
解決方法是,在/etc/my.cnf中找到[mysqld],在它下面添加這樣一行:
1 log-bin-trust-function-creators=1
建立數據庫:CREATE DATABASE `total_admin` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
1.查看mysql大小
use 數據庫名 SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES where TABLE_SCHEMA='數據庫名';
獲得的結果是以字節爲單位,除1024爲K,除1048576爲M。
2.查看錶的最後mysql修改時間select TABLE_NAME,UPDATE_TIME from INFORMATION_SCHEMA.tables where TABLE_SCHEMA='數據庫名'; less