Percona Data Recovery Tool for InnoDB工具恢復單表的案例 今天上班有個朋友詢問我,相關Percona Data Recovery Tool for InnoDB恢復數據中的一些問題,比如說delete,沒法恢復數據,原先做過類似的異常處理就,再次模擬了下相關的恢復操作流程,僅供學習使用;相關的配置工具策略網上很多,這裡我就一筆帶過了,不再進行詳述,下面就開始梳理相關的細節問題;
[root@Mysql64 local]# mysql -uroot -proot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 33 Server version: 5.5.28-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database gg; ERROR 1007 (HY000): Can't create database 'gg'; database exists mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | cacti | | gg | | mysql | | performance_schema | | temp | | test | +--------------------+ 7 rows in set (0.12 sec) mysql> use gg; Database changed mysql> show tables; Empty set (0.00 sec) mysql> create table a select * from mysql.user; Query OK, 12 rows affected (0.17 sec) Records: 12 Duplicates: 0 Warnings: 0 mysql> delete from a; Query OK, 12 rows affected (0.12 sec) mysql> select * from a; Empty set (0.00 sec) mysql> [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# ./page_parser -5 -f /usr/local/mysql/data/gg/a.ibd Opening file: /usr/local/mysql/data/gg/a.ibd: 64768 ID of device containing file 5836121 inode number 33200 protection 1 number of hard links 500 user ID of owner 500 group ID of owner 0 device ID (if special file) 98304 total size, in bytes 4096 blocksize for filesystem I/O 200 number of blocks allocated 1377829472 time of last access 1377831011 time of last modification 1377831011 time of last status change 98304 Size to process in bytes 104857600 Disk cache size in bytes [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# ./create_defs.pl --host=localhost --user=root --password=root --db=gg --table=a > include/table_defs.h [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# cat include/table_defs.h can_be_null: FALSE, uint_min_val: 0, uint_max_val: 4294967295ULL }, can_be_null: FALSE }, { /* char(64) */ name: "plugin", type: FT_CHAR, min_length: 64, max_length: 192, has_limits: FALSE, limits: { can_be_null: TRUE, char_min_len: 0, char_max_len: 192, char_ascii_only: TRUE }, can_be_null: TRUE }, { /* text */ name: "authentication_string", type: FT_TEXT, min_length: 0, max_length: 65535, has_limits: FALSE, limits: { can_be_null: TRUE, char_min_len: 0, char_max_len: 65535, char_ascii_only: TRUE }, can_be_null: TRUE }, { type: FT_NONE } } }, }; #endif [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# ./constraints_parser -5 -D -f pages-1377849796/FIL_PAGE_INDEX/0-18/0-00000003.page LOAD DATA INFILE '/usr/local/percona-data-recovery-tool-for-innodb-0.5/dumps/default/SYS_TABLES' REPLACE INTO TABLE `SYS_TABLES` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'SYS_TABLES\t' (NAME, ID, N_COLS, TYPE, MIX_ID, MIX_LEN, CLUSTER_NAME, SPACE); [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# make gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -Wall -O3 -g -I include -I mysql-source/include -I mysql-source/innobase/include -c tables_dict.c -o lib/tables_dict.o gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -Wall -O3 -g -I include -I mysql-source/include -I mysql-source/innobase/include -c print_data.c -o lib/print_data.o gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -Wall -O3 -g -I include -I mysql-source/include -I mysql-source/innobase/include -c check_data.c -o lib/check_data.o gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -Wall -O3 -g -I include -I mysql-source/include -I mysql-source/innobase/include -o constraints_parser constraints_parser.c lib/tables_dict.o lib/print_data.o lib/check_data.o lib/libut.a lib/libmystrings.a gcc -DHAVE_OFFSET64_T -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -Wall -O3 -g -I include -I mysql-source/include -I mysql-source/innobase/include -static -lrt -o page_parser page_parser.c lib/tables_dict.o lib/libut.a [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# 這裡需要重新編譯才可以生產,不能只變異一次,不然後期你會看不到數據都為空值的;記住這裡需要進行2次make哦,不能少一次! [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# ./constraints_parser -5 -f pages-1377849796/FIL_PAGE_INDEX/0-18/0-00000003.page a "localhost " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 00 0 0 " " "" a "Mysql64 " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 00 0 0 " " "" a "127.0.0.1 " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 00 0 0 " " "" a "::1 " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 00 0 0 " " "" a "localhost " " " " " "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "" 00 0 0 " " NULL a "Mysql64 " " " " " "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "" 00 0 0 " " NULL a "localhost " "cacti " "*43DD7940383044FBDE5B177730FAD3405BC6DAD7" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "" 00 0 0 " " NULL a "192.168.155.229 " "cacti " "*43DD7940383044FBDE5B177730FAD3405BC6DAD7" "N" "N" "N" "N" "N" "N" "N" "N" "Y" "N" "N" "N" "N" "N" "N" "Y" "N" "N" "N" "N" "Y" "N" "N" "N" "N" "N" "N" "N" "N" "" 00 0 0 " " NULL a "% " "cacti " "*43DD7940383044FBDE5B177730FAD3405BC6DAD7" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "N" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 00 0 0 " " NULL a "127.0.0.1 " "cacti " "*43DD7940383044FBDE5B177730FAD3405BC6DAD7" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "" 00 0 0 " " NULL a "*.* " "cacti " " " "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 00 0 0 " " NULL a "% " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 00 0 0 " " NULL LOAD DATA INFILE '/usr/local/percona-data-recovery-tool-for-innodb-0.5/dumps/default/a' REPLACE INTO TABLE `a` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'a\t' (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, Create_tablespace_priv, ssl_type, @var_ssl_cipher, @var_x509_issuer, @var_x509_subject, max_questions, max_updates, max_connections, max_user_connections, plugin, authentication_string) SET ssl_cipher = UNHEX(@var_ssl_cipher), x509_issuer = UNHEX(@var_x509_issuer), x509_subject = UNHEX(@var_x509_subject); [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# 結下了看到了我從ibd裡面刪除的數據,我要把它放到一個目錄內,記住這裡我需要放到含有mysql訪問的目錄內,原先我存放在tmp啊,data目錄啊都不行,最後放在mysql權限內的目錄就可以了; [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# ./constraints_parser -5 -f pages-1377849796/FIL_PAGE_INDEX/0-18/0-00000003.page > /usr/local/mysql/data/find.sql LOAD DATA INFILE '/usr/local/percona-data-recovery-tool-for-innodb-0.5/dumps/default/a' REPLACE INTO TABLE `a` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'a\t' (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, Create_tablespace_priv, ssl_type, @var_ssl_cipher, @var_x509_issuer, @var_x509_subject, max_questions, max_updates, max_connections, max_user_connections, plugin, authentication_string) SET ssl_cipher = UNHEX(@var_ssl_cipher), x509_issuer = UNHEX(@var_x509_issuer), x509_subject = UNHEX(@var_x509_subject); [root@Mysql64 percona-data-recovery-tool-for-innodb-0.5]# 查詢目錄的內容是否正確; [root@Mysql64 data]# pwd /usr/local/mysql/data [root@Mysql64 data]# ll -h | grep find* -rw-r--r-- 1 root root 3.9K 08-30 16:31 find.sql 看到是有數據的有3.9k左右大小,當然這裡是測試數據量比較小(mysql.user的數據量)! [root@Mysql64 data]# [root@Mysql64 data]# vi find.sql ---看看內容; a "localhost " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 0 0 0 0 " " "" a "Mysql64 " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 0 0 0 0 " " "" a "127.0.0.1 " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 0 0 0 0 " " "" a "::1 " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 0 0 0 0 " " "" a "localhost " " " " " "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "" 0 0 0 0 " " NULL a "Mysql64 " " " " " "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "" 0 0 0 0 " " NULL a "localhost " "cacti " "*43DD7940383044FBDE5B177730FAD3405BC6DAD7" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "" 0 0 0 0 " " NULL a "192.168.155.229 " "cacti " "*43DD7940383044FBDE5B177730FAD3405BC6DAD7" "N" "N" "N" "N" "N" "N" "N" "N" "Y" "N" "N" "N" "N" "N" "N" "Y" "N" "N" "N" "N" "Y" "N" "N" "N" "N" "N" "N" "N" "N" "" 0 0 0 0 " " NULL a "% " "cacti " "*43DD7940383044FBDE5B177730FAD3405BC6DAD7" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "N" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 0 0 0 0 " " NULL a "127.0.0.1 " "cacti " "*43DD7940383044FBDE5B177730FAD3405BC6DAD7" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "N" "" 0 0 0 0 " " NULL a "*.* " "cacti " " " "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 0 0 0 0 " " NULL a "% " "root " "*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "Y" "" 0 0 0 0 " " NULL ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [root@Mysql64 data]# 下面我們需要把sql文件內的文本load到我們的庫內;這裡我需要提出的是load的路徑,要進行設置下; 上面我在導入的時候估計變量忘記設置,導致出現部分失誤,這裡需要做的同學注意下; mysql> use gg; Database changed mysql> select * from a; Empty set (0.00 sec) mysql> LOAD DATA INFILE '/usr/local/mysql/data/find.sql' REPLACE INTO TABLE `a` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'a\t' (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, Create_tablespace_priv, ssl_type, @var_ssl_cipher, @var_x509_issuer, @var_x509_subject, max_questions, max_updates, max_connections, max_user_connections, plugin, authentication_string) -> SET -> ssl_cipher = UNHEX(@var_ssl_cipher), -> x509_issuer = UNHEX(@var_x509_issuer), -> x509_subject = UNHEX(@var_x509_subject); Query OK, 12 rows affected (0.03 sec) Records: 12 Deleted: 0 Skipped: 0 Warnings: 0 mysql> select * from a; +-----------------+-------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+--------+-----------------------+ | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string | +-----------------+-------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+--------+-----------------------+ | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | | | Mysql64 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | | | 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | | | ::1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | | | localhost | | | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 | | NULL | | Mysql64 | | | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 | | NULL | | localhost | cacti | *43DD7940383044FBDE5B177730FAD3405BC6DAD7 | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 | | NULL | | 192.168.155.229 | cacti | *43DD7940383044FBDE5B177730FAD3405BC6DAD7 | N | N | N | N | N | N | N | N | Y | N | N | N | N | N | N | Y | N | N | N | N | Y | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 | | NULL | | % | cacti | *43DD7940383044FBDE5B177730FAD3405BC6DAD7 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | NULL | | 127.0.0.1 | cacti | *43DD7940383044FBDE5B177730FAD3405BC6DAD7 | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 | | NULL | | *.* | cacti | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | NULL | | % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | NULL | +-----------------+-------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+--------+-----------------------+ 12 rows in set (0.00 sec) mysql>