一、MySQL工具
二、mysqladmin工具
三、mysqldump工具(備份用)
一、MySQL工具
mysql是一個簡單的命令行SQL工具,該工具支持交互式和非交互式運行
使用範例:
1、使用root賬戶連接服務器,默認進入mysql數據庫
mysql [db_name] -u root -p #回車後提示輸入密碼
mysql [db_name] -u root -p '123' #直接使用密碼123登錄
mysql [db_name] -u root -p -h 192.168.0.254 #使用root帳號連接192.168.0.254服務器,回車後提示輸入密碼
2、使用mysql工具執行腳本文件
[root@test1 ~]# cat script.sql show tables; [root@test1 ~]# mysql mysql < script.sql > out.tab -u root -p #執行結果輸出重定向到out.tab Enter password: [root@test1 ~]# cat out.tab #查看執行結果 Tables_in_mysql columns_priv db ... ...
二、mysqladmin工具
mysqladmin是一個執行管理操作的工具
語法格式:
mysqladmin [選項] 命令 [命令參數] [命令 [命令參數]]
常用的命令、命令參數
create db_name 創建名爲db_name的數據庫
drop db_name 刪除名爲db_name的數據庫及數據庫中的所有數據表
extended-status 顯示服務器狀態變量及變量值
flush-hosts 刷新所有主機的緩存信息
flush-logs 刷新所有的日誌
flush-privileges 重新加載權限數據表
flush-status 清空狀態變量
flush-tables 刷新所有數據表
kill id,id 殺死服務器進程
password new-pass 設置新密碼
ping 檢查服務器是否可用
reload 重新加載權限數據表
refresh 刷新所有的數據表並重啓日誌文件
shutdown 關閉服務器
start-slave 在從服務器上啓動複製
stop-slave 在從服務器上停止複製
三、mysqldump工具
mysqldump是一個數據庫邏輯備份程序,我們可以腮紅用它對一個或多個MySQL數據庫進行備份或將數據庫傳輸至其他MySQL服務器。執行mysqldump時需要賬戶擁有SELECT權限纔可以備份數據表,SHOW VIEW權限用於備份視圖,REIGGER權限用於備份觸發器。某些命令選項可能還需要更多的權限纔可以完成操作。mysqldump不是大數據備份的解決方案,因爲mysqldump需要通過重建SQL語句來實現備份功能,對於數據量比較大的數據庫備份與還原操作,速度都比較慢。打開mysqldump備份文件會發現,其實裏面就是數據庫的SQL語言重現。
對大規模數據備份與還原,使用物理備份會更加適合,通過直接複製數據文件,即可實現快速的數據還原工作。在企業版本的MySQL中提供了一個mysqlbackup的工具也是可以考慮的解決方案,它提供了各種不同的MySQL數據庫引擎高性能備份還原功能。
使用mysqldump可以備份數據庫中的某些數據表,也可以備份整個數據庫(不要在數據庫後使用數據表名稱),還可以備份MySQL系統中的所有數據庫。對於使用mysqldump工具備份的數據庫文件,可以使用mysql命令工具還原數據。
語法格式如下:
mysqldump [選項] db_name [table_name]
mysqldump [選項] --databases db_name ...
mysqldump [選項] --all-databases
常用選項:
--add-drop-database在備份文件中添加、刪除相同數據庫的SQL語句
--add-drop-table在備份文件中添加、刪除相同數據表的SQL語句
--add-deop-trigger在備份文件中添加、刪除相同觸發器的SQL語句
--add-locks在備份數據表前後添加表鎖定與枷鎖SQL語句
--all-databases備份所有數據庫中的所有數據表
--apply-slave-statements在CHANGE MASTER前添加 STOP SLAVE語句
--bind-address=ip_address使用指定的網絡接口連接MySQL服務器
--comments爲備份文件添加註釋
--create-options在CREATE TABLE語句中包含所有的MySQL特性
--databases備份若干個指定的數據庫
--debug創建debugging日誌
--default-character-set=charsename設置默認字符集
--host,-h設置需要連接的主機
--ignore-table設置不需要備份的數據表,該選項可以使用多次
--lock-all-tables設置全局鎖,鎖定所有的數據表以保證備份數據的完整性
--no-create-db,-n只導出數據而不創建數據庫
--no-create-info只導出數據而不創建數據表
--no-date不備份數據內容,用於備份表結構
--password,-pshiyong 使用密碼連接服務器
--port=port_num使用指定端口號連接服務器
--replace使用REPLACE語句替代INSERT
範例:
備份所有數據庫
mysqldump -u root -p --all-databases > all_database_sql
備份mysql數據庫
mysqldump -u root -p --database mysql > mysql_database_sql
備份mysql數據庫下的user
mysqldump -u root -p mysql user > user_table
使用all_database_sql數據庫備份文件還原數據庫
mysql -u root -p < all_database_sql
使用mysql_database_sql數據庫備份文件還原數據庫
mysql -u root -p < mysql_database_sql
使用user_table數據庫備份文件還原數據庫
mysql -u root -p < user_table