成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Mysql復制表三種實現(xiàn)方法及grant解析

瀏覽:172日期:2023-10-11 15:24:56

如何快速的復制一張表

首先創(chuàng)建一張表db1.t,并且插入1000行數(shù)據(jù),同時創(chuàng)建一個相同結構的表db2.t

假設,現(xiàn)在需要把db1.t里面的a>900的數(shù)據(jù)行導出來,插入到db2.t中

mysqldump方法

幾個關鍵參數(shù)注釋:

?single-transaction的作用是,在導出數(shù)據(jù)的時候不需要對表db1.t加表鎖,而是使用 START TRANSACTION WITH CONSISTENT SNAPSHOT的方法; ?no-create-info的意思是,不需要導出表結構; ?result-file指定了輸出文件的路徑,其中client表示生成的文件是在客戶端機器上的。

導出csv文件

select * from db1.t where a>900 into outfile ’/server_tmp/t.csv’;

這條語句會將結果保存在服務端。如果你執(zhí)行命令的客戶端和MySQL服務端不在同一個機器上,客戶端機器的臨時目錄下是不會生成t.csv文件的。

這條命令不會幫你覆蓋文件,因此你需要確保/server_tmp/t.csv這個文件不存在,否則執(zhí)行語句時就會因為有同名文件的存在而報錯。

得到.csv導出文件后,你就可以用下面的load data命令將數(shù)據(jù)導入到目標表db2.t中。

load data infile ’/server_tmp/t.csv’ into table db2.t;

打開文件/server_tmp/t.csv,以制表符(t)作為字段間的分隔符,以換行符(n)作為記錄之間的分隔符,進行數(shù)據(jù)讀取;

啟動事務。

判斷每一行的字段數(shù)與表db2.t是否相同:

若不相同,則直接報錯,事務回滾; 若相同,則構造成一行,調(diào)用InnoDB引擎接口,寫入到表中。

重復步驟3,直到/server_tmp/t.csv整個文件讀入完成,提交事務。

物理拷貝方法

mysqldump方法和導出CSV文件的方法,都是邏輯導數(shù)據(jù)的方法,也就是將數(shù)據(jù)從表db1.t中讀出來,生成文本,然后再寫入目標表db2.t中。有物理導數(shù)據(jù)的方法嗎?比如,直接把db1.t表的.frm文件和.ibd文件拷貝到db2目錄下,是否可行呢?答案是不行的。

因為,一個InnoDB表,除了包含這兩個物理文件外,還需要在數(shù)據(jù)字典中注冊。直接拷貝這兩個文件的話,因為數(shù)據(jù)字典中沒有db2.t這個表,系統(tǒng)是不會識別和接受它們的。

在MySQL 5.6版本引入了可傳輸表空間(transportable tablespace)的方法,可以通過導出+導入表空間的方式,實現(xiàn)物理拷貝表的功能。

假設現(xiàn)在的目標是在db1的庫下,復制一個跟表t相同的表r,具體執(zhí)行步驟:

執(zhí)行create table r like t,創(chuàng)建一個相同表結構的空表, 執(zhí)行alter table r discard tablespace,這時候r.ibd文件會被刪除 執(zhí)行flush table t for export這時候會生成一個t.cfg 在db1目錄下執(zhí)行cp t.cfg r.cfg; cp t.ibd r.ibd;這兩個命令; 執(zhí)行unlock tables,這時候t.cfg文件會被刪除; 執(zhí)行alter table r import tablespace,將這個r.ibd文件作為表r的新的表空間,由于這個文件的數(shù)據(jù)內(nèi)容和t.ibd是相同的,所以表r中就有了和表t相同的數(shù)據(jù)。

這三種方法的優(yōu)缺點

物理拷貝的方式速度最快,尤其對于大表拷貝來說是最快的方法。但必須是全拷貝,不能是部分拷貝,需要到服務器上拷貝數(shù)據(jù),在用戶無法登錄數(shù)據(jù)庫主機時無法使用,而且源表和目標表都必須是innodb引擎。

用mysqldump生成包含INSERT語句文件的方法,可以在where參數(shù)增加過濾條件,來實現(xiàn)只導出部分數(shù)據(jù)。這個方式的不足之一是,不能使用join這種比較復雜的where條件寫法。

用select … into outfile的方法是最靈活的,支持所有的SQL寫法。但,這個方法的缺點之一就是,每次只能導出一張表的數(shù)據(jù),而且表結構也需要另外的語句單獨備份。

后兩種都是邏輯備份方式,可以跨引擎使用的。

mysql全局權限

SELECT * FROM MYSQL.USER WHERE USER=’UA’G 顯示所有權限

作用域整個mysql,信息保存在mysql的user表里

賦予用戶ua一個最高權限:

grant all privileges on *.* to ’ua’@’%’ with grant option;

這個grant命令做了兩個動作:分別將磁盤中的mysql.user表里將權限的字段都修改為Y,和內(nèi)存中的acl_user中用戶對應的對象將access值修改為‘全1’

如果有新的客戶端使用用戶名ua登錄成功,mysql會為新連接維護一個線程對象,所有關于全局權限的判斷,都是直接使用線程對象內(nèi)部保存的權限位。

grant命令對于全局權限,同時更新了磁盤和相應的內(nèi)存,接下來新創(chuàng)建的連接會使用新的權限對于已經(jīng)存在的連接,它的全局權限不受grant的影響。如果要回收上面權限:

revoke all privileges on *.* from ’ua’@’%’;

同樣也是相對應的兩個操作,磁盤中權限字段修改位N,內(nèi)存中對象的access的值修改位0。

mysqlDB權限

grant all privileges on db1.* to ’ua’@’%’ with grant option;

使用SELECT * FROM MYSQL.DB WHERE USER = ’UA’G來查看當前用戶的db權限,同樣的也是對磁盤和內(nèi)存中的對象修改權限。

db權限存儲在mysql.db表中

注意:和全局權限不同,db權限會對已經(jīng)存在的連接對象產(chǎn)生影響。

mysql表權限和列權限

表權限放在mysql.tables_priv中,列權限存放在mysql.columns_priv中,這兩類權限組合起來存放在內(nèi)存的hash結構column_priv_hash中。

跟db權限類似,這兩個權限每次grant的時候都會修改數(shù)據(jù)表,也會同步修改內(nèi)存中的hash結構,因此,這兩類權限的操作,也會影響到已經(jīng)存在的連接。

flush privileges的使用場景

有些文檔里提到,grant之后馬上執(zhí)行flush privileges命令,才能使賦權語句生效。其實更準確的說法應該是在數(shù)據(jù)表中的權限跟內(nèi)存中的權限數(shù)據(jù)不一致的時候,flush privileges語句可以用來重建內(nèi)存數(shù)據(jù),達到一致狀態(tài)。

比如某時刻刪除了數(shù)據(jù)表的記錄,但是內(nèi)存的數(shù)據(jù)還存在,導致了給用戶賦權失敗,因為在數(shù)據(jù)表中找不到記錄。同時重新創(chuàng)建這個用戶也不行,因為在內(nèi)存判斷的時候,會認為這個用戶還存在。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
久久综合久久综合九色| 免费的国产精品| 亚洲一区二区影院| 国产精品videosex极品| 精品福利一二区| 夫妻av一区二区| 欧美精品一二三四| 国产在线麻豆精品观看| 日本道色综合久久| 亚洲电影一区二区三区| 亚洲精品在线免费| 亚洲男人电影天堂| 在线看片一区| 亚洲欧美日韩一区二区三区在线观看 | 精品视频在线看| 美女免费视频一区| 欧美三级在线播放| 精品一区二区三区免费毛片爱| 欧美日韩视频一区二区| 老司机精品视频在线| 欧美亚洲动漫精品| 久久国产三级精品| 欧美情侣在线播放| 国产电影精品久久禁18| 日韩亚洲欧美一区二区三区| 国产成人免费在线| 精品国产一区二区亚洲人成毛片| 成人免费观看视频| 欧美精品一区二区高清在线观看| 成人激情免费电影网址| 亚洲精品一线二线三线无人区| www..com久久爱| 久久久夜色精品亚洲| 91亚洲男人天堂| 中文字幕日韩一区| 国产欧美日韩伦理| 亚洲mv大片欧洲mv大片精品| 久热re这里精品视频在线6| 丝袜美腿亚洲一区| 欧美三电影在线| 国产乱一区二区| 欧美xxxx老人做受| 欧美精品尤物在线| 中文字幕亚洲在| 麻豆成人小视频| 国内精品第一页| 日韩女优视频免费观看| www.亚洲免费av| 中文字幕一区二区在线播放| 亚洲在线播放电影| 美女视频网站黄色亚洲| 欧美一区二区三区精品| 91啦中文在线观看| 亚洲精品日韩一| 色网站国产精品| 福利一区二区在线观看| 中文字幕 久热精品 视频在线 | 国产亚洲欧美一区二区| 日韩在线卡一卡二| 日韩一级完整毛片| 国语精品中文字幕| 午夜视频久久久久久| 欧美福利一区二区| 欧美三级特黄| 亚洲国产中文字幕| 欧美综合欧美视频| 成人激情免费视频| 亚洲男人天堂av网| 欧美天堂亚洲电影院在线播放 | 久久久久久夜| 国产精品一区二区视频| 欧美激情一区二区三区蜜桃视频 | 99久久精品免费精品国产| 中文字幕在线视频一区| 一本大道av伊人久久综合| 粉嫩av一区二区三区在线播放 | 激情六月婷婷综合| 久久久久久久久久电影| 99综合精品| 国产成人午夜精品影院观看视频 | 久久久精品国产99久久精品芒果| 99精品福利视频| 国内精品视频666| 国产日韩欧美a| 色伊人久久综合中文字幕| 成人高清在线视频| 亚洲综合色噜噜狠狠| 91精品国产91久久久久久一区二区 | 久久最新视频| caoporm超碰国产精品| 亚洲色图欧洲色图| 欧美日本在线视频| 激情视频一区二区| 国产精品88888| 亚洲天堂免费在线观看视频| 欧美日韩一二区| 欧美午夜不卡| 极品瑜伽女神91| 亚洲色图欧洲色图婷婷| 欧美日韩国产大片| 亚洲网站啪啪| 国产剧情一区在线| 一区二区高清在线| 久久综合精品国产一区二区三区| 久久大逼视频| 欧美另类高清视频在线| 美女脱光内衣内裤视频久久网站| 国产精品久久免费看| 91精品婷婷国产综合久久性色 | 欧美日韩国产天堂| 国产精品久久久久久久久婷婷 | 欧美性受xxxx黑人xyx性爽| 亚洲视频一区| 国产精品538一区二区在线| 亚洲一区av在线| 国产清纯白嫩初高生在线观看91 | 中文字幕一区二区不卡 | 精品国产一区二区三区av性色| 另类天堂av| 欧美日本中文| 国产一区不卡在线| 亚洲一区二区三区视频在线| 久久这里都是精品| 欧美片在线播放| 米奇777在线欧美播放| 欧美午夜视频在线| 国产一区二区日韩精品| 丝袜诱惑制服诱惑色一区在线观看| 欧美国产精品一区| 91.麻豆视频| 久久婷婷影院| 99热免费精品在线观看| 91丨九色丨国产丨porny| 国产91精品一区二区麻豆网站| 五月婷婷综合网| 亚洲天堂2014| 国产无人区一区二区三区| 91精品免费观看| 欧美日韩在线观看一区二区| 国产精品日韩一区二区| 国产一区再线| 91丨porny丨中文| 国产成人aaa| 韩国精品免费视频| 日韩福利电影在线| 亚洲一区二区三区在线播放| 国产精品久久99| 精品国产99国产精品| 9191成人精品久久| 欧美色涩在线第一页| 久久最新视频| 久久99伊人| 国产一区二区三区成人欧美日韩在线观看| 午夜日韩在线| 91麻豆国产精品久久| 国产精品 欧美精品| 奇米色一区二区三区四区| 亚洲风情在线资源站| 亚洲久本草在线中文字幕| 国产精品第五页| 国产精品视频线看| 国产亚洲制服色| xnxx国产精品| 337p日本欧洲亚洲大胆精品| 2021中文字幕一区亚洲| 精品国产污污免费网站入口| 欧美一级在线观看| 欧美精品日韩一本| 欧美日韩的一区二区| 欧美三级日韩在线| 欧美在线视频日韩| 色婷婷av一区二区三区软件| 另类av一区二区| 久久国产日本精品| 久久久久国内| 久久久久久国产精品mv| 久久国产精品久久精品国产| 国产精品入口66mio| 国产精品亚洲一区| av不卡在线看| 午夜宅男欧美| 久热精品视频| 在线成人免费视频| 欧美tk—视频vk| 久久综合精品国产一区二区三区 | 一区二区免费看| 亚洲国产精品久久人人爱 | 影音先锋久久精品| 亚洲欧洲一区二区天堂久久| 一本久道久久久| 久久精品女人的天堂av| 91久久奴性调教| 欧美日本不卡视频| 日韩一区二区精品| 久久婷婷久久一区二区三区| 国产日韩欧美一区二区三区乱码 | 欧美巨大另类极品videosbest| 欧美日韩中字一区| 日韩欧美国产一区二区在线播放 | 国语自产精品视频在线看抢先版结局|