mysql 常用命令与备份恢复 整理
生活随笔
收集整理的這篇文章主要介紹了
mysql 常用命令与备份恢复 整理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
常用命令
編輯 1:使用SHOW語句找出在服務器上當前存在什么數據庫: mysql> SHOW DATABASES; 2:2、創建一個數據庫MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:選擇你所創建的數據庫 mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!) 4:查看現在的數據庫中存在什么表 mysql> SHOW TABLES; 5:創建一個數據庫表 mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:顯示表的結構: mysql> DESCRIBE MYTABLE; 7:往表中加入記錄 mysql> insert into MYTABLE values (”hyq”,”M”); 8:用文本方式將數據裝入數據庫表中(例如D:/mysql.txt) mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE; 9:導入.sql文件命令(例如D:/mysql.sql) mysql>use database; mysql>source d:/mysql.sql; 10:刪除表 mysql>drop TABLE MYTABLE; 11:清空表 mysql>delete from MYTABLE; 12:更新表中數據 mysql>update MYTABLE set sex=”f” where name=’hyq’; 全局管理權限對應解釋: FILE: 在MySQL服務器上讀寫文件。 PROCESS: 顯示或殺死屬于其它用戶的服務線程。 RELOAD: 重載訪問控制表,刷新日志等。 SHUTDOWN: 關閉MySQL服務。 數據庫/數據表/數據列權限: ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。 CREATE: 建立新的數據庫或數據表。 DELETE: 刪除表的記錄。 DROP: 刪除數據表或數據庫。 INDEX: 建立或刪除索引。 INSERT: 增加表的記錄。 SELECT: 顯示/搜索表的記錄。 UPDATE: 修改表中已存在的記錄。 特別的權限: ALL: 允許做任何事(和root一樣)。 USAGE: 只允許登錄–其它什么也不允許做。數據庫導入
編輯 MySQL數據庫的導入,有兩種方法: 1) 先導出數據庫SQL腳本,再導入; 2) 直接拷貝數據庫目錄和文件。 在不同操作系統或MySQL版本情況下,直接拷貝文件的方法可能會有不兼容的情況發生。 所以一般推薦用SQL腳本形式導入。下面分別介紹兩種方法。 2. 方法一 SQL腳本形式 操作步驟如下: 2.1. 導出SQL腳本 在原數據庫服務器上,可以用phpMyAdmin工具,或者mysqldump命令行,導出SQL腳本。 2.1.1 用phpMyAdmin工具 導出選項中,選擇導出“結構”和“數據”,不要添加“DROP DATABASE”和“DROP TABLE”選項。 選中“另存為文件”選項,如果數據比較多,可以選中“gzipped”選項。 將導出的SQL文件保存下來。 2.1.2 用mysqldump命令行 命令格式 mysqldump -u 用戶名 -p 數據庫名 > 數據庫名.sql 范例: mysqldump -u root -p abc > abc.sql (導出數據庫abc到abc.sql文件) 提示輸入密碼時,輸入該數據庫用戶名的密碼。 2.2. 創建空的數據庫 通過主控界面/控制面板,創建一個數據庫。假設數據庫名為abc,數據庫全權用戶為abc_f。 2.3. 將SQL腳本導入執行 同樣是兩種方法,一種用phpMyAdmin(mysql數據庫管理)工具,或者mysql命令行。 2.3.1 用phpMyAdmin工具 從控制面板,選擇創建的空數據庫,點“管理”,進入管理工具頁面。 在"SQL"菜單中,瀏覽選擇剛才導出的SQL文件,點擊“執行”以上載并執行。 注意:phpMyAdmin對上載的文件大小有限制,php本身對上載文件大小也有限制,如果原始sql文件 比較大,可以先用gzip對它進行壓縮,對于sql文件這樣的文本文件,可獲得1:5或更高的壓縮率。 gzip使用方法: # gzip xxxxx.sql 得到 xxxxx.sql.gz文件。 提示輸入密碼時,輸入該數據庫用戶名的密碼。 3 直接拷貝 如果數據庫比較大,可以考慮用直接拷貝的方法,但不同版本和操作系統之間可能不兼容,要慎用。 3.1 準備原始文件 用tar打包為一個文件 3.2 創建空數據庫 3.3 解壓 在臨時目錄中解壓,如: cd /tmp tar zxf mydb.tar.gz 3.4 拷貝 將解壓后的數據庫文件拷貝到相關目錄 cd mydb/ cp * /var/lib/mysql/mydb/ 對于FreeBSD: cp * /var/db/mysql/mydb/ 3.5 權限設置 將拷貝過去的文件的屬主改為mysql:mysql,權限改為660 chown mysql:mysql /var/lib/mysql/mydb/* chmod 660 /var/lib/mysql/mydb/* Mssql轉換mysql的方法 1.導表結構 使用MySQL生成create腳本的方法。找到生成要導出的腳本,按MySQL的語法修改一下到MySQL數據庫中創建該表的列結構什么的。 2.導表數據 在MSSQL端使用bcp導出文本文件: bcp “Select * FROM dbname.dbo.tablename;” queryout tablename.txt -c -Slocalhost\db2005 -Usa 其中”"中是要導出的sql語句,-c指定使用\t進行字段分隔,使用\n進行記錄分隔,-S指定數據庫服務器及實例,-U指定用戶名,-P指定密碼. 在MySQL端使用mysqlimport 導入文本文件到相應表中 mysqlimport -uroot -p databasename /home/test/tablename.txt 其中-u指定用戶名,-p指定密碼,databasename指定數據庫名稱,表名與文件名相同備份與恢復
編輯 MySQL備份恢復數據的一般步驟 備份一個數據庫的例子: 1、備份前讀鎖定涉及的表 mysql>LOCK TABLES tbl1 READ,tbl1 READ,…如果,你在mysqldump實用程序中使用--lock-tables選項則不必使用如上SQL語句。 2、導出數據庫中表的結構和數據 shell>mysqldump --opt db_name>db_name.sql 3、啟用新的更新日志 shell>mysqladmin flush-logs 這樣可以記錄你備份后的數據改變為恢復數據準備。 4、解除表的讀鎖 mysql>UNLOCK TABLES; 為了加速上述過程,你可以這樣做: shell> mysqldump --lock-tables --opt db_name>db_name.sql; mysqladmin flush-logs 但是這樣可能會有點小問題。上命令在啟用新的更新日志前就恢復表的讀鎖,
在更新繁忙的站點,可能有備份后的更新數據沒有記錄在新的日志中。
現在恢復上面備份的數據庫 1、對涉及的表使用寫鎖 mysql>LOCK TABLES tbl1 WRITE,tbl1 WRITE,… 2、恢復備份的數據 shell>mysql db_name < db_name.sql 3、恢復更新日志的內容 shell>mysql --one-database db_name < hostname.nnn 假設需要使用的日志名字為hostname.nnn 4、啟用新的更新日志 shell>mysqladmin flush-logs 5、解除表的寫鎖 mysql>UNLOCK TABLES; 希望上面的例子能給你啟發,因為備份數據的手法多種多樣,你所使用的和上面所述可能大不一樣,但是對于備份和恢復中,表的鎖定、啟用新的更新日志的時機應該是類似的,仔細考慮這個問題。
總結
以上是生活随笔為你收集整理的mysql 常用命令与备份恢复 整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于word API 创建的可以打开wo
- 下一篇: 解决在微信下载app需要点击右上角在浏览