日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

Mysql復制表三種實現方法及grant解析

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

如何快速的復制一張表

首先創建一張表db1.t,并且插入1000行數據,同時創建一個相同結構的表db2.t

假設,現在需要把db1.t里面的a>900的數據行導出來,插入到db2.t中

mysqldump方法

幾個關鍵參數注釋:

?single-transaction的作用是,在導出數據的時候不需要對表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’;

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

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

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

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

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

啟動事務。

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

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

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

物理拷貝方法

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

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

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

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

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

這三種方法的優缺點

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

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

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

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

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,和內存中的acl_user中用戶對應的對象將access值修改為‘全1’

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

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

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

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

mysqlDB權限

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

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

db權限存儲在mysql.db表中

注意:和全局權限不同,db權限會對已經存在的連接對象產生影響。

mysql表權限和列權限

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

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

flush privileges的使用場景

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

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

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

標簽: MySQL 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91偷拍一区二区三区精品| 999久久久免费精品国产| 蜜桃成人av| 播放一区二区| 国产成人精品亚洲日本在线观看| 欧美激情五月| 国产欧美日韩一级| 久久伊人久久| 日本免费一区二区三区四区| 精品成人免费一区二区在线播放| 99精品美女| 久久国产小视频| 亚洲在线国产日韩欧美| 最新国产精品久久久| 日本特黄久久久高潮| 精品中文字幕一区二区三区| 国产美女高潮在线| 欧美午夜不卡| 日本午夜精品一区二区三区电影| 狂野欧美性猛交xxxx| 99国产精品免费视频观看| 天使萌一区二区三区免费观看| 亚洲精品大片| 成人片免费看| 日韩成人午夜精品| 在线精品亚洲欧美日韩国产| 久久九九精品| 欧美一级二级视频| 欧美日韩激情| 国产一区2区在线观看| 人人爽香蕉精品| 国产资源在线观看入口av| 综合五月婷婷| 香蕉精品久久| 麻豆一区二区三| 亚洲综合电影一区二区三区| 精品国产亚洲一区二区三区| 日韩在线卡一卡二| 欧美aa一级| 国产精品亚洲产品| 丝袜国产日韩另类美女| 国产成人精品一区二区三区视频| 综合激情在线| 美女亚洲一区| 日韩大片在线观看| 免费在线亚洲欧美| 国产日产精品_国产精品毛片 | 久久超级碰碰| 香蕉久久国产| 九色精品91| 日本国产精品| 蜜桃av.网站在线观看| 欧美日本久久| 日韩精品亚洲aⅴ在线影院| av一区二区高清| 日韩免费福利视频| 亚洲播播91| 高清不卡亚洲| 欧美日韩国产观看视频| 在线亚洲人成| 久久精品国产999大香线蕉| 久久国内精品| 国产精品亚洲综合在线观看| 国产三级精品三级在线观看国产| 91免费精品国偷自产在线在线| 99国产精品久久久久久久成人热 | 尤物在线精品| 亚洲一区免费| 午夜电影一区| 久久激情av| 四虎国产精品免费观看| 国产精品麻豆成人av电影艾秋| 国产精久久久| 免费一二一二在线视频| 爽好久久久欧美精品| 蜜桃视频一区二区三区在线观看| 日韩欧美美女在线观看| 国产伦精品一区二区三区在线播放| 欧美国产先锋| 欧美成人基地 | 日韩午夜一区| 亚洲91在线| 国内精品亚洲| 亚洲综合二区| 国产亚洲欧美日韩精品一区二区三区| 国产福利资源一区| 成人小电影网站| 日韩中文字幕一区二区三区| 国产伦精品一区二区三区视频| 色偷偷偷在线视频播放 | 精品亚洲精品| 国产女优一区| 久久久久久自在自线| 免费国产亚洲视频| 97国产成人高清在线观看| 香蕉成人久久| 国产中文在线播放| 日韩精品乱码av一区二区| 国产精品男女| 亚洲神马久久| 国产成人调教视频在线观看| 首页国产欧美日韩丝袜| 久久精品国产亚洲aⅴ| 亚洲精品看片| 精品国产亚洲一区二区三区在线| 精品国产鲁一鲁****| 高清一区二区三区| 日韩制服丝袜av| 国产精品66| 模特精品在线| 国产精品亚洲人成在99www| 国产精品美女午夜爽爽| 亚洲性色视频| 国产精品白丝久久av网站| 国产精品videossex久久发布 | 日韩精品首页| 蜜臀久久99精品久久一区二区| 亚洲女同中文字幕| 日韩激情一二三区| 国产中文欧美日韩在线| 久久久9色精品国产一区二区三区| 久久精品青草| 欧美另类中文字幕| 久久一区二区三区喷水| 日韩中文欧美| 久久久久亚洲| 欧美日韩精品在线一区| 91精品成人| 亚洲另类黄色| 久久精品97| 中文字幕在线看片| 国产字幕视频一区二区| 免费成人性网站| 欧美日韩99| 丁香六月综合| 亚洲三级在线| 国产免费播放一区二区| 91亚洲成人| 综合激情一区| 婷婷精品久久久久久久久久不卡| 日本电影久久久| 91综合网人人| 亚洲精品国产日韩| 精品日韩一区| 亚洲免费影视| 精品三级av在线导航| 亚洲中字黄色| 成人三级高清视频在线看| 亚洲一区成人| 成人午夜在线| 日本欧美在线| 欧美日韩一区二区三区视频播放| 在线看片一区| 欧美中文一区二区| 欧美午夜三级| 91精品xxx在线观看| 日韩av中文在线观看| 在线日韩中文| 97精品视频在线看| 国产精品中文字幕亚洲欧美| 欧美日韩四区| 久久久人人人| 岛国av免费在线观看| 亚洲色图国产| 悠悠资源网久久精品| 日韩精品专区| 首页国产精品| 成人污污视频| 国产精品第十页| 性色av一区二区怡红| 久久蜜桃av| 亚洲高清二区| jiujiure精品视频播放| 国产精品字幕| 国产综合色区在线观看| av综合电影网站| 国产福利电影在线播放| 精品一区电影| 成人小电影网站| 五月激情久久| 日本久久二区| 美女高潮久久久| 亚洲精品88| 在线免费观看亚洲| 欧美一区不卡| 福利视频一区| 91精品观看| 亚洲免费观看高清完整版在线观| 日韩av在线免费观看不卡| 精品美女久久| 国产二区精品| 欧美亚洲综合视频| 日本欧美不卡| 日韩在线网址| 亚洲欧洲高清| 日韩高清一区在线| 久久久久美女| 欧美午夜三级| 国产精品丝袜xxxxxxx| 日韩avvvv在线播放|