本文目錄一覽:
- 1、mysql 如何導出數據庫
- 2、mysql導出數據庫幾種方法
- 3、Navicat導出mysql數據庫時出錯怎麼解決?
- 4、win10 mysql導出數據庫失敗
- 5、mysql怎麼導出數據庫
- 6、MySQL數據庫怎麼導出數據?
mysql 如何導出數據庫
1、 mysqldump命令備份數據
在MySQL中提供了命令行導出數據庫數據以及文件的一種方便的工具mysqldump,我們可以通過命令行直接實現數據庫內容的導出dump,首先我們簡單了解一下mysqldump命令用法:
#MySQLdump常用
mysqldump -u root -p –databases 數據庫1 數據庫2 xxx.sql
2、 mysqldump常用操作實例
2.1備份全部數據庫的數據和結構
mysqldump -uroot -p123456 -A /data/mysqlDump/mydb.sql
2.2備份全部數據庫的結構(加 -d 參數)
mysqldump -uroot -p123456 -A -d /data/mysqlDump/mydb.sql
2.3 備份全部數據庫的數據(加 -t 參數)
mysqldump -uroot -p123456 -A -t /data/mysqlDump/mydb.sql
2.4 備份單個數據庫的數據和結構(,數據庫名mydb)
mysqldump -uroot-p123456 mydb /data/mysqlDump/mydb.sql
2.5 備份單個數據庫的結構
mysqldump -uroot -p123456 mydb -d /data/mysqlDump/mydb.sql
2.6 備份單個數據庫的數據
mysqldump -uroot -p123456 mydb -t /data/mysqlDump/mydb.sql2
2.7 備份多個表的數據和結構(數據,結構的單獨備份方法與上同)
mysqldump -uroot -p123456 mydb t1 t2 /data/mysqlDump/mydb.sql
2.8 一次備份多個數據庫
mysqldump -uroot -p123456 –databases db1 db2 /data/mysqlDump/mydb.sql
mysql導出數據庫幾種方法
1、確保我們的數據庫已經正確的安裝在電腦上了,首先打開命令行窗口,win+R快捷鍵打開運行窗口,輸入cmd。
2、如果mysql版本較新,並且用戶名,密碼,端口自己沒有進行過修改,則命令行直接輸入「mysql」也可以進入數據庫。
3、查看mysql中所有的數據庫,「show databases」。
4、退出mysql,使用「exit”,然後回到命令行,輸入命令「mysqldump -uroot -proot -P3306 –default-character-set utf8 test 想要存放的路徑」,這個命令意思是打包mysql 的test數據庫到你指定的路徑,格式是utf8。
5、接下來,到我們指定的路徑去查找導出的SQL文件,如圖所示,test.sql 就是導出的文件了。
Navicat導出mysql數據庫時出錯怎麼解決?
項目上 MySQL 還原 SQL 備份經常會碰到一個錯誤如下,且通常出現在導入視圖、函數、存儲過程、事件等對象時,其根本原因就是因為導入時所用賬號並不具有SUPER 權限,所以無法創建其他賬號的所屬對象。ERROR 1227 (42000) : Access denied; you need (at least one of) the SUPER privilege(s) for this operation常見場景:1. 還原 RDS 時經常出現,因為 RDS 不提供 SUPER 權限;2. 由開發庫還原到項目現場,賬號權限等有所不同。
處理方式:
1. 在原庫中批量修改對象所有者為導入賬號或修改 SQL SECURITY 為 Invoker;2. 使用 mysqldump 導出備份,然後將 SQL 文件中的對象所有者替換為導入賬號。
二、問題原因我們先來看下為啥會出現這個報錯,那就得說下 MySQL 中一個很特別的權限控制機制,像視圖、函數、存儲過程、觸發器等這些數據對象會存在一個 DEFINER 和一個 SQL SECURITY 的屬性,如下所示:
–視圖定義CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`%` SQL SECURITY DEFINER VIEW v_test
–函數定義CREATE DEFINER=`root`@`%` FUNCTION `f_test()` RETURNS varchar(100) SQL SECURITY DEFINER
–存儲過程定義CREATE DEFINER=`root`@`%` PROCEDURE `p_test`() SQL SECURITY DEFINER
–觸發器定義CREATE DEFINER=`root`@`%` trigger t_test
–事件定義CREATE DEFINER=`root`@`%` EVENT `e_test`
DEFINER:對象定義者,在創建對象時可以手動指定用戶,不指定的話默認為當前連接用戶;
SQL SECURITY:指明以誰的權限來執行該對象,有兩個選項,一個為 DEFINER,一個為 INVOKER,默認情況下系統指定為 DEFINER;DEFINER:表示按定義者的權限來執行; INVOKER:表示按調用者的權限來執行。
如果導入賬號具有 SUPER 權限,即使對象的所有者賬號不存在,也可以導入成功,但是在查詢對象時,如果對象的 SQL SECURITY 為 DEFINER,則會報賬號不存在的報錯。ERROR 1449 (HY000): The user specified as a definer (‘root’@’%’) does not exist
改寫好處:1. 可以避免還原時遇到 DEFINER 報錯相關問題;2. 根據輸出信息知道備份是否正常進行,防止備份中遇到元數據鎖無法獲取然後一直卡住的情況。
win10 mysql導出數據庫失敗
先將mysql-noinstall-5.1.66-winx64.zip解壓縮到 d:\appspace\mysql
將其中的data 文件夾移動到d:/appspace/mysqlData 即mysql的 data路徑為:d:/appspace/mysqlData/data
my.ini配置文件有2個可選擇的位置:
打開E:\appSpace\mysql \ my-large.ini (如果後面mysql出現1067錯誤,啟動不了的話,可試着用my-huge.ini或其他), 在最後加上如下幾行,然後另存為my.ini(C:\Windows).
#——————————————————–
[mysqld]
basedir=d:/appspace/mysql
datadir=d:/appspace/mysqlData/data
default-character-set=utf8
[WinMySQLAdmin]
Server=d:/appspace/mysql/bin/mysqld.exe
#default-character-set=utf8
[client]
default-character-set=utf8
mysql怎麼導出數據庫
MySQL命令行導出數據庫:
1,進入MySQL目錄下的bin文件夾:cd MySQL中到bin文件夾的目錄
如我輸入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
(或者直接將windows的環境變量path中添加該目錄)
2,導出數據庫:mysqldump -u 用戶名 -p 數據庫名 導出的文件名
如我輸入的命令行:mysqldump -u root -p news news.sql (輸入後會讓你輸入進入MySQL的密碼)
(如果導出單張表的話在數據庫名後面輸入表名即可)
3、會看到文件news.sql自動生成到bin文件下
命令行導入數據庫:
1,將要導入的.sql文件移至bin文件下,這樣的路徑比較方便
2,同上面導出的第1步
3,進入MySQL:mysql -u 用戶名 -p
如我輸入的命令行:mysql -u root -p (輸入同樣後會讓你輸入MySQL的密碼)
4,在MySQL-Front中新建你要建的數據庫,這時是空數據庫,如新建一個名為news的目標數據庫
5,輸入:mysqluse 目標數據庫名
如我輸入的命令行:mysqluse news;
6,導入文件:mysqlsource 導入的文件名;
如我輸入的命令行:mysqlsource news.sql;
MySQL數據庫怎麼導出數據?
MySQL 導出數據
MySQL中你可以使用SELECT…INTO OUTFILE語句來簡單的導出數據到文本文件上。
使用 SELECT … INTO OUTFILE 語句導出數據
以下實例中我們將數據表 shulanxt_tbl 數據導出到 /tmp/shulanxt.txt 文件中:
你可以通過命令選項來設置數據輸出的指定格式,以下實例為導出 CSV 格式:
在下面的例子中,生成一個文件,各值用逗號隔開。這種格式可以被許多程序使用。
from 樹懶學堂 – 一站式數據知識平台
SELECT … INTO OUTFILE 語句有以下屬性:
LOAD DATA INFILE是SELECT … INTO OUTFILE的逆操作,SELECT句法。為了將一個數據庫的數據寫入一個文件,使用SELECT … INTO OUTFILE,為了將文件讀回數據庫,使用LOAD DATA INFILE。
SELECT…INTO OUTFILE 『file_name』形式的SELECT可以把被選擇的行寫入一個文件中。該文件被創建到服務器主機上,因此您必須擁有FILE權限,才能使用此語法。
輸出不能是一個已存在的文件。防止文件數據被篡改。
你需要有一個登陸服務器的賬號來檢索文件。否則 SELECT … INTO OUTFILE 不會起任何作用。
在UNIX中,該文件被創建後是可讀的,權限由MySQL服務器所擁有。這意味着,雖然你就可以讀取該文件,但可能無法將其刪除。
更多MySQL導出數據教程請見:樹懶學堂_一站式數據知識學習平台_MySQL 導出數據
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/182240.html