文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>用shell批量修改mysql中某个库某类表的引擎

用shell批量修改mysql中某个库某类表的引擎

时间:2010-03-24  来源:pkman110

样例库 test 用户名 root 目的 将mysql test库中所有不是innodb引擎的表修改成innodb引擎 解答: mysql -u root --column-names=false -s -e "show table status from test where \`Engine\` <> 'InnoDB'"|awk '{print "mysql -u root test \"alter table "$1" engine=innodb;\"";}'|bash   注意:为了避免列名的问题,官方建议用`符号(数字1左边的键)引用列名。   分析: 1.|取得所有引擎不为innodb的表 mysql -u root --column-names=false -s -e "show table status from test where Engine <> 'InnoDB'" 注意点:大小写,使用--column-names=false -s参数,避免显示表头和表格线。   2.使用awk取出第一列表名,并拼接 注意点双引号的转义字符\"   3.放入shell执行。   第二种方法: mysql -u root -e "show table status from test where Engine <> 'InnoDB'\G"|grep Name|awk '{print "mysql -u root test \"alter table "$2" engine=innodb;\"";}'|bash 使用\G参数来回避column-names=false -s参数。  
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载