Ⅰ 怎麼在windows中的mysql資料庫中粘貼復制
什麼系統?兩個庫是不是在同一台機?
linux下個人做法:
1.同一台機
用mysqlmp導出表數據(具體使用可以查一下)
mysqlmp -h host -P port -p password -u user database --default-character-set=utf8 --add-drop-table tablename -r /tmp/table.sql
再導入數據
mysqlmp -h host -P port -p password -u user database tablename </tmp/tablename.sql
或者在進入mysql後用source命令導入。
2.不同的機,就需要先把數據文件導出,然後復制到另外一台機,再進行1的導入操作。
windows下沒試過,一般都直接用phpMyAdmin來操作了,界面操作沒什麼說的。
Ⅱ MySQL如何復製表中的一條記錄並插入
1、打開navicat軟體,打開要復製表的資料庫,如下圖所示:
Ⅲ 怎樣用命令行把MySQL資料庫遷移到另一台Linux伺服器
1、用mp命令備份資料庫。
# mysqlmp -u root -p dbfile > dbfile.sql
2、用rsync從新伺服器獲得備份的文件(SCP或WGET也可以)。
# rsync -avr root@myolddbserver:/home/mympfolder/dbfile.sql
3、登陸新伺服器的mysql客戶端。
# mysql -u root -p
4. 建立資料庫。
mysql> create database dbfile;
5. 選擇新資料庫;
mysql> use dbfile;
6. 載入數據;
mysql> source dbfile.sql
或者
在Mysql程序中有我自己的一個資料庫共5張表,里邊數據不算太多。我現在想把他們全部弄到另一台電腦中去,該怎麼弄,如果不用其它的軟體工具,只用Mysql自已的程序不知可否?
註:不用考慮操作系統。
---------------------------------------------------------------
在dos命令提示符下使用mysqlmp命令進行備份.
如下:
C:\Documents and Settings\Administrator>mysqlmp yinshi >c:\\backup.txt -uroot
-p12142022
說明:yinshi是我的資料庫名,裡面有5張表; c:\\backup.txt 是我備份出來文件名和路徑;
-u,-p參數後面跟的分別是用戶名和密碼.
將你備份出來的文件我這里是backup.txt拷貝到另一台機上,再在dos命令提示符下用mysql命令,進行恢復,如下:
C:\Documents and Settings\Administrator>mysql < c:\\backup.txt -uroot -p12142022
or
mysql>source backup.txt;(這里backup.txt在放在data目錄下)
---------------------------------------------------------------
如果另一台機器上也安裝了mysql,可以直接導入
C:\mysql\bin>mysqlmp -h172.20.6.250 -udeveloper -p123456 --opt server_databasename | mysql -hlocalhost -uroot -C obj_databasename
172.20.6.250源伺服器ip
developer源伺服器連接用戶名
---------------------------------------------------------------
有兩種辦法。
1、在B機器上裝mysql。
將A機器上的mysql/data下的你的資料庫目錄整個拷貝下來。
將B機器上的mysql服務停止。
找到B機器上的mysql/data目錄,將你拷貝的目錄粘貼進去,然後啟動mysql服務就可以了。
2、使用SQL語句備份和恢復
你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢復數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。
語法:
SELECT * INTO {OUTFILE | DUMPFILE} 』file_name』 FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 』file_name.txt』 [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE 』file_name』
Ⅳ 如何復制mysql資料庫到另一台電腦上
有兩種辦法。 1、在B機器上裝mysql。 將A機器上的mysql/data下的你的資料庫目錄整個拷貝下來。 將B機器上的mysql服務停止。 找到B機器上的mysql/data目錄,將你拷貝的目錄粘貼進去,然後啟動mysql服務就可以了。 2、使用SQL語句備份和恢復 你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢復數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。 語法: SELECT * INTO {OUTFILE ¦ DUMPFILE} 』file_name』 FROM tbl_name LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 』file_name.txt』 [REPLACE ¦ IGNORE] INTO TABLE tbl_name SELECT ... INTO OUTFILE 』file_name』 在dos命令提示符下使用mysqlmp命令進行備份. 如下: C:\Documents and Settings\Administrator>mysqlmp yinshi >c:\\backup.txt -uroot -p12142022
Ⅳ 如何將mysql的一個完整資料庫全部復制到另外一個資料庫
用sql語句就行了
開始→運行→輸入cmd,進入命令行模式,把目錄切換到資料庫bin目錄下
mysqlmp -u 用戶名 -p 密碼 --database 資料庫名 > D:abc.sql
創建一個資料庫,名字和原來的相同。
mysql -u 用戶名 -p 密碼 --database 資料庫名 < D:abc.sql
Ⅵ MySql數據怎麼導入資料庫中,
MySQL資料庫的導入,有兩種方法:
1) 先導出資料庫SQL腳本,再導入;
2) 直接拷貝資料庫目錄和文件。
在不同操作系統或MySQL版本情況下,直接拷貝文件的方法可能會有不兼容的情況發生。
所以一般推薦用SQL腳本形式導入。下面分別介紹兩種方法。
2. 方法一 SQL腳本形式
操作步驟如下:
2.1. 導出SQL腳本
在原資料庫伺服器上,可以用phpMyAdmin工具,或者mysqlmp命令行,導出SQL腳本。
2.1.1 用phpMyAdmin工具
導出選項中,選擇導出「結構」和「數據」,不要添加「DROP DATABASE」和「DROP TABLE」選項。
選中「另存為文件」選項,如果數據比較多,可以選中「gzipped」選項。
將導出的SQL文件保存下來。
2.1.2 用mysqlmp命令行
命令格式
mysqlmp -u用戶名 -p 資料庫名 > 資料庫名.sql
範例:
mysqlmp -uroot -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/*
Ⅶ mysql數據直接復制數據還可以用嗎
如果操作系統兼容性強的話,mysql數據直接復制數據可以用。
直接復制數據的步驟如下:
復制一定前必須關閉MYSQL程序(不關閉程序,復制出的表易出問題,復制不全面);
選中要復制的數據右鍵復制或者ctrl+c後粘貼即可。
如果操作系統不兼容的話,mysql數據直接復制數據不可以用。
最好的方法是使用導入數據的方法,導入數據的步驟如下:
選中資料庫mydata;
右擊出現「運行sql文件」;
把需要導入的資料庫文件,後綴名是sql選好,直接導入即可。
但是這種方法對大數據量的表進行操作非常慢。因為不僅導出了數據同時導出了表結構。
在針對大數據量的表時,可以使用infile導入數據,導入時間會很快,命令如下:
mysql>load data infile '文件路徑' into table 表名;
Ⅷ mysql如何復制數據到同一張表
在利用資料庫開發時,常常會將一些表之間的數據互相導入。當然可以編寫程序實現,但是,程序常常需要開發環境,不方便。最方便是利用sql語言直接導入。既方便而修改也簡單。以下就是導入的方法。
1、 表結構相同的表,且在同一資料庫(如,table1,table2)
Sql :
復制代碼代碼如下:
insert into table1 select * from table2 (完全復制)
insert into table1 select distinct * from table2(不復制重復紀錄)
insert into table1 select top 5 * from table2 (前五條紀錄)
2、不在同一資料庫中(如,db1 table1,db2 table2)
sql:
[code]
insert into db1.table1 select * from db2.table2 (完全復制)
insert into db1.table1 select distinct * from db2table2(不復制重復紀錄)
insert into tdb1.able1 select top 5 * from db2table2 (前五條紀錄)
3、表結構不同的表或復制部分紀錄(如,dn_user,dn_user2)
a. 建一個新表[DN_UserTemp](在老表dn_user上增加一列)
復制代碼代碼如下:
CREATE TABLE [DN_UserTemp] ( [Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL)
[Id] [idtype] NOT NULL ,
[Name] [fntype] NOT NULL ,
[Descript] [dstype] NULL ,
[LogonNm] [idtype] NOT NULL ,
[Password] [idtype] NULL ,
[Gender] [char] (1) NULL ,
[Quited] [booltype] NOT NULL,
[OffDuty] [booltype] NOT NULL ,
[Stopped] [booltype] NOT NULL,
[OSBind] [booltype] NOT NULL,
[Domain] [idtype] NULL ,
[EMail] [fntype] NULL ,
[UnitId] [idtype] NULL ,
[BranchId] [idtype] NULL ,
[DutyId] [idtype] NULL ,
[LevelId] [idtype] NULL ,
[ClassId] [idtype] NULL ,
[TypeId] [idtype] NULL ,
[IP] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
[ExpireDT] [datetime] NULL ,
[Sort] [int] NOT NULL ,
[AllowDel] [booltype] NOT NULL,
[UnitChief] [booltype] NOT NULL,
[BranchChief] [booltype] NOT NULL ,
[UnitDeputy] [booltype] NOT NULL ,
[BranchDeputy] [booltype] NOT NULL ,
[Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]
b. 將dn_uer2的數據拷入dn_usertemp
sql:insert into dn_usertemp select * from dn_user2
c.將dn_usertemp 拷入dn_user
sql:
復制代碼代碼如下:
declare @i int
declare @j int
declare @Name fntype
set @i=1
select @j=count(*) from dn_usertemp
while @i<@j 1
begin
select @Name=Name from dn_usertemp where Num=@i
print @Name
insert into dn_user (Name) values (@Name) where Num=@i
select @i=@i 1
end
MySql資料庫復製表數據
將 proction 資料庫中的 mytbl 錶快速復制為 mytbl_new,2個命令如下:
復制代碼代碼如下:
CREATE TABLE mytbl_new LIKE proction.mytbl;
INSERT mytbl_new SELECT * FROM proction.mytbl;
第一個命令是創建新的數據表 mytbl_new ,並復制 mytbl 的數據表結構。
第二個命令是講數據表 mytbl 中的數據復制到新表 mytbl_new 。
註:proction.mytbl是指定要復製表的資料庫名稱為 proction 。它是可選的。
假如沒有proction. ,MySQL資料庫將會假設mytbl在當前操作的資料庫。
另外:在mysql資料庫中復制數據為:
復制代碼代碼如下:
select * into desTable from sourceTable在mssql中支持,在mysql中不支持
insert into desTable select * from sourceTable
Ⅸ mysql怎麼復制一個資料庫中的一張表到另外一個資料庫
什麼系統?兩個庫是不是在同一台機?
linux下個人做法:
1.同一台機
用mysqlmp導出表數據(具體使用可以查一下)
mysqlmp
-h
host
-P
port
-p
password
-u
user
database
--default-character-set=utf8
--add-drop-table
tablename
-r
/tmp/table.sql
再導入數據
mysqlmp
-h
host
-P
port
-p
password
-u
user
database
tablename
</tmp/tablename.sql
或者在進入mysql後用source命令導入。
2.不同的機,就需要先把數據文件導出,然後復制到另外一台機,再進行1的導入操作。
windows下沒試過,一般都直接用phpMyAdmin來操作了,界面操作沒什麼說的。
Ⅹ 怎麼才能完整復制MySQL資料庫
有兩種辦法。
1、在B機器上裝mysql。
將A機器上的mysql/data下的你的資料庫目錄整個拷貝下來。
將B機器上的mysql服務停止。
找到B機器上的mysql/data目錄,將你拷貝的目錄粘貼進去,然後啟動mysql服務就可以了。
2、使用SQL語句備份和恢復
你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢復數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。
語法:
SELECT * INTO {OUTFILE ¦ DUMPFILE} 』file_name』 FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 』file_name.txt』 [REPLACE ¦ IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE 』file_name』
在dos命令提示符下使用mysqlmp命令進行備份.
如下:
C:\Documents and Settings\Administrator>mysqlmp yinshi >c:\\backup.txt -uroot
-p12142022