/usr/local/mysql55/bin/mysqldump -uroot -s /data/mysqldata/3306/mysql.sock --single-transaction --default-character-set=gbk test t10>/usr/tmp/testzsd.sql
--single-transaction
--default-character-set=gbk
test t10
從官方文件看,上面的選項操作分別是:開啟了事務,保證資料一致性,設定了預設字符集,選擇了test資料庫的t10表,但我卻想驗證上面的操作,是否對我的資料庫做了如上操作:
方法:開啟general log,觀察mysqldump之後的general log日誌。
mysql> show variables like '%log%';
mysql> set global general_log=on;
檢視相應日誌:
120713 15:41:53 20 connect root@localhost on
20 query /*!40100 set @@sql_mode='' */
20 query /*!40103 set time_zone='+00:00' */
20 query
set session transaction isolation level repeatable read(這裡的級別是repeatable read)
20 query
start transaction
20 query unlock tables
20 query select logfile_group_name, file_name, total_extents, initial_size, engine, extra from information_schema.files where file_type = 'undo log' and file_name is not null and logfile_group_name in (select distinct logfile_group_name from information_schema.files where file_type = 'datafile' and tablespace_name in (select distinct tablespace_name from information_schema.partitions where table_schema='test' and table_name in ('t10'))) group by logfile_group_name, file_name, engine order by logfile_group_name
120713 15:41:54 20 query select distinct tablespace_name, file_name, logfile_group_name, extent_size, initial_size, engine from information_schema.files where file_type = 'datafile' and tablespace_name in (select distinct tablespace_name from information_schema.partitions where table_schema='test' and table_name in ('t10')) order by tablespace_name, logfile_group_name
20 init db test
20 query show tables like 't10'
20 query show table status like 't10'
20 query set option sql_quote_show_create=1
20 query set session character_set_results = 'binary'
20 query show create table `t10`
20 query
set session character_set_results = 'gbk'
20 query show fields from `t10`
20 query
select /*!40001 sql_no_cache */ * from `t10`
120713 15:42:02 20 query set session character_set_results = 'binary'
20 query use `test`
20 query select @@collation_database
20 query show triggers like 't10'
20 query set session character_set_results = 'gbk'
20 quit
從上面的日誌可以分析,給與了重複讀的事務級別,開啟了事務之後,在取讀需要dump的資料select /*!40001 sql_no_cache */ * from `t10`。這裡是保證資料唯一性的根據和本質。由於重複讀的事務級別上面使用了mvcc,保證了資料一致性快照,也不會出現幻讀。
我對科學研究的感覺
在研究院呆了接近九個月,無論多少也算接觸了一些真正算是科研的東西,滿足了自己的願望。現在應該可以有資格總結一下自己對科研認識。在這樣乙個地方呆了九個月,應該可以總結一下自己體驗,對自己的追求的問題做乙個回答了。頂級的科研在做什麼?我認為是積累,創新到極致,實驗和理論驗證。任何乙個領域,要想成為專家,...
對redux saga的研究
中介軟體用過redux thunk,也用過redux promise middleware,原理都很簡單。thunk就是簡單的action作為函式,在action進行非同步操作,發出新的action。而promise只是在action中的payload作為乙個promise,中介軟體內部進行處理之後...
對postman的研究
1.postman可用作macos,windows和linux作業系統的本機應用程式。2.最常用的方法是get,post,put和delete。方法的名稱是不言自明的。例如,get使您可以從伺服器檢索資料。post使您可以將資料新增到伺服器中的現有檔案或資源。put允許您替換伺服器中的現有檔案或資源...