一、數據庫的導出導入
http://see.xidian.edu.cn/cpp/u/mysql_ml/
幾個常用用例:
1. 進入數據庫
mysql -u root -pmysql -h localhost databaseName;
2.創建帳號
GRANTALL PRIVILEGES ON *.* TO mysql@localhost IDENTIFIED BY 'mysql' WITH GRANTOPTION;
允許IP連接數據庫
grant allprivileges on *.* to '用戶名'@'IP地址' identified by '密碼';
1.導出整個數據庫
mysqldump –u 用戶名–p 數據庫名> 導出的文件名
mysqldump-u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqldump-u 用戶名 -p 數據庫名錶名> 導出的文件名
mysqldump-u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個數據庫結構
mysqldump-u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql
-d 沒有數據 --add-drop-table在每個create語句之前增加一個drop table
4.導出一個數據庫結構帶存儲過程
mysqldump-u wcnc -p –d -R --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql
-d 沒有數據 --add-drop-table在每個create語句之前增加一個drop table
-R 加存儲過程
5. 導出一個特定日期內的表的數據不帶表結構
mysqldump -t --skip-tz-utc --where="Date>'$begin' andDate<'$end'" --opt -h182.254.133.118 -uroot -proot!@34 poker chargeInfo
-t 不帶表創建--skip-tz-utc 使用當前時區導數據–where 符合條件
6.不加鎖備份數據,默認備份時會對錶加鎖,insert,update等會阻塞
--lock-tables=false
(可能會導致數據不一致,還沒細研究)
導入數據庫
常用source 命令
進入mysql數據庫控制檯,
如mysql -u root-p
mysql>use數據庫
然後使用source命令,後面參數爲腳本文件(如這裏用到的.sql)
mysql>sourced:\wcnc_db.sql
6.導入CSV數據。
load data infile '/tmp/test.csv'
into table XXXXX
fields terminated by ',' optionally enclosed by '"' escaped by'"'
lines terminated by '\r\n';
注意在LINUX上文件在存爲ansi格式。在window上在存爲UTF8
關聯刪除:
use poker;
delete from friends where
FriendId in(
select UserID from sys_users where
and UserID < 65535
)
如果一條SQL執行時間太長了。需要停止這條SQL方法:
how processlist;
找出你要終止的語句的id
在系統下mysqladmin -uroot -ppassword kill 要殺的ID