- A+
所属分类:MySQL
当服务器崩溃了,没法正常开启,而又要恢复数据时候,是不可能知道一个表的结构的。但是仍然可以访问磁盘,可以从数据文件中恢复一些数据的。
mysqlfrm 工具就可用于发现一个表的结构,并生成的CREATE TABLE相关的SQL语句。
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
shell> sudo env PYTHONPATH=$PYTHONPATH mysqlfrm --basedir=/usr/local/mysql \ --port=3333 --user=<user> /usr/local/mysql/data/welford_kindle/books.frm # Spawning server with --user=<user>. # Starting the spawned server on port 3333 ... done. # Reading .frm files # # Reading the books.frm file. # # CREATE statement for /usr/local/mysql/data/kindle/books.frm: # CREATE TABLE `welford_kindle`.`books` ( `ISBN` char(32) NOT NULL PRIMARY KEY, `title` char(128) DEFAULT NULL, `purchase_date` date DEFAULT NULL, `cost` float(10,2) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 #...done. |
在这个例子中,我们使用了三个必要的参数:basedir、port、user。这三个参数的含义可以去看看前面的文章,都有介绍的。
权限
权限完全取决于你如何使用mysqlfrm 。如果是用来读取.frm文件需以root用户来执行。如果要连接服务器,需要对mysql数据库读权限。

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~