如果您想了解Mysql应用mysqlinnodb数据库批量转换表引擎为MyISAM的方法的相关知识,那么本文是一篇不可错过的文章,我们将对mysql转换类型进行全面详尽的解释,并且为您提供关于inno
如果您想了解Mysql应用mysql innodb数据库批量转换表引擎为MyISAM的方法的相关知识,那么本文是一篇不可错过的文章,我们将对mysql转换类型进行全面详尽的解释,并且为您提供关于innodb数据库批量转换表引擎为MyISAM、MySQL MyISAM的引擎和InnoDB引擎的比较、mysql 中InnoDB和MyISAM的区别_MySQL、mysql 库类型 MyISAM 与 InnoDB 的批量转换的有价值的信息。
本文目录一览:- Mysql应用mysql innodb数据库批量转换表引擎为MyISAM的方法(mysql转换类型)
- innodb数据库批量转换表引擎为MyISAM
- MySQL MyISAM的引擎和InnoDB引擎的比较
- mysql 中InnoDB和MyISAM的区别_MySQL
- mysql 库类型 MyISAM 与 InnoDB 的批量转换
Mysql应用mysql innodb数据库批量转换表引擎为MyISAM的方法(mysql转换类型)
《MysqL应用MysqL innodb数据库批量转换表引擎为MyISAM的方法》要点:
本文介绍了MysqL应用MysqL innodb数据库批量转换表引擎为MyISAM的方法,希望对您有用。如果有疑问,可以联系我们。
本节内容:
MysqL数据库引擎转换:innodb批量转换为MyISAM.MysqL数据库
例子:
MysqL数据库
<?PHP
//连接数据库
$host='localhost';
$user='MysqL_username'; //管理账户
$passwd='MysqL_password'; //暗码
$db='wordpressdb'; //数据库名称
$link= MysqL_connect($host,$user,$passwd);
if (!$link) {
die('Could not connect: '.MysqL_error() );
}MysqL数据库
MysqL_select_db( $db,$link ) or die ('can't use'. $db . MysqL_error());
$result=MysqL_query("show tables ") or die( MysqL_error());
while($row=MysqL_fetch_row($result)){
#echo $row[0];
#var_dump($row);
echo "$row[0] n";
MysqL_query("alter table $row[0] type='MYISAM'") or die (MysqL_error());
}
#var_dump($result);
MysqL_close($link);
?>
MysqL数据库
说明:
MysqL 从 5.5 之后默认引擎是 InnoDB,InnoDB 比 MyISAM 要好不少,但是究竟庞大臃肿,所以以前都是默认 MyISAM,软硬件资源日渐丰富之后,InnoDB 就被重视了.MysqL数据库
如果是旧的数据库,用的是 MyISAM 引擎,可以用顺利转换到 InnoDB 引擎.MysqL数据库
MysqL 提供了一个转换脚本(其实默认是用来给你往回转的 InnoDB –> MyISAM),可以在两种引擎中互换.MysqL数据库
分享一个示例,刚刚转换过的表:
MysqL_convert_table_format yourdb --user=root --password='youpw' -f --socket= '/var/run/MysqLd/MysqLd.sock'MysqL数据库
例句说明:
MysqL数据库
yourpw 是 root 暗码
socket 可以在 my.cnf 文件中找到.
注意事项:MysqL数据库
1、MysqL 5.5 以后,MysqL_convert_table_format 默认是将 InnoDB 转换成 MyISAM,如果要反过来转,用 –engine= INNODB 是不行的(莫名其妙便是不行),要直接修改 /usr/bin/MysqL_convert_table_format 脚本,将里头 $opt_engine=”MYISAM”; 改成 $opt_engine=”INNODB”; 然后运行就可以了.MysqL数据库
2、不要随便转换 MysqL 本身的数据库(MysqL),这个数据库必须是 MyISAM 引擎的.MysqL数据库
便是这些了,希望有助于大家理解与掌握MysqL数据库表引擎的相关知识,深入学习下innodb、myISAM引擎的用法.MysqL数据库
《MysqL应用MysqL innodb数据库批量转换表引擎为MyISAM的方法》是否对您有启发,欢迎查看更多与《MysqL应用MysqL innodb数据库批量转换表引擎为MyISAM的方法》相关教程,学精学透。小编PHP学院为您提供精彩教程。
innodb数据库批量转换表引擎为MyISAM
下面是小编 jb51.cc 通过网络收集整理的代码片段。小编小编现在分享给大家,也给大家做个参考。
将以下文件另存为 MysqL.PHP,修改对应的数据库用户名、数据库名和密码。上传到网站下,访问该页面,会批量转换表引擎为 MYISAM。
<?PHP
//连接数据库
$host='localhost';
$user='MysqL_username'; //数据库用户名
$passwd='MysqL_password'; //密码
$db='wordpressdb'; //数据库名称
$link= MysqL_connect($host,$user,$passwd);
if (!$link) {
die('Could not connect: '.MysqL_error() );
}
MysqL_select_db( $db,$link ) or die ('can't use'. $db . MysqL_error());
$result=MysqL_query("show tables ") or die( MysqL_error());
while($row=MysqL_fetch_row($result)){
#echo $row[0];
#var_dump($row);
echo "$row[0] n";
MysqL_query("alter table $row[0] type='MYISAM'") or die (MysqL_error());
}
#var_dump($result);
MysqL_close($link);
?>
注意:转换前请先用数据库软件将数据库做一个 sql 文件备份,避免转换出现问题。若转移失败请检查 my.ini 里的“default-storage-engine”是否=“MyISAM”。另,由此转换导致的一切风险自行承担。
以上是小编(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得小编网站内容还不错,欢迎将小编网站推荐给程序员好友。
MySQL MyISAM的引擎和InnoDB引擎的比较
以下的文章主要介绍的是MySQL MyISAM的引擎和InnoDB引擎的实际性能的比较,我们首先是通过MySQL数据库的表结构来引出MySQL MyISAM的引擎和InnoDB引擎的实际性能的实际操作。 CREATETABLE`myisam`( `id`int(11)NOTNULLauto_increment, `name`varchar(100)defa
以下的文章主要介绍的是
<ol> <li><span><span>CREATE TABLE `myisam` ( </span></span></li> <li><span>`id` int(11) NOT NULL auto_increment, </span></li> <li><span>`name` varchar(100) default NULL, </span></li> <li><span>`content` text, </span></li> <li><span>PRIMARY KEY (`id`) </span></li> <li> <span>) </span><span>ENGINE</span><span>=</span><span>MyISAM</span><span> DEFAULT </span><span>CHARSET</span><span>=</span><span>gbk</span><span>; </span> </li> <li><span>CREATE TABLE `innodb` ( </span></li> <li><span>`id` int(11) NOT NULL auto_increment, </span></li> <li><span>`name` varchar(100) default NULL, </span></li> <li><span>`content` text, </span></li> <li><span>PRIMARY KEY (`id`) </span></li> <li> <span>) </span><span>ENGINE</span><span>=</span><span>InnoDB</span><span> DEFAULT </span><span>CHARSET</span><span>=</span><span>gbk</span><span>; </span> </li> </ol>
数据内容:
<ol><li><span><span>$</span><span>name</span><span> = “heiyeluren”; </span></span></li></ol>
$content = “MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:· MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MySQL MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎。 ·
MEMORY存储引擎提供“内存中”表。MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MySQL MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。
释:MEMORY存储引擎正式地被确定为HEAP引擎。· InnoDB和BDB存储引擎提供事务安全表。BDB被包含在为支持它的操作系统发布的MySQL-Max二进制分发版里。InnoDB也默认被包括在所有MySQL 5.1二进制分发版里,你可以按照喜好通过配置MySQL来允许或禁止任一引擎。·EXAMPLE存储引擎是一个“存根”引擎,它不做什么。你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。”;
[插入数据-1] (innodb_flush_log_at_trx_commit=1)
MyISAM 1W:3/s
nnoDB 1W:219/s
MyISAM 10W:29/s
nnoDB 10W:2092/s
MySQL MyISAM 100W:287/s
InnoDB 100W:
没敢测试
[插入数据-2] (innodb_flush_log_at_trx_commit=0)
<ol> <li><span><span>MyISAM 1W:3/s </span></span></li> <li><span>InnoDB 1W:3/s </span></li> <li><span>MyISAM 10W:30/s </span></li> <li><span>InnoDB 10W:29/s </span></li> <li><span>MyISAM 100W:273/s </span></li> <li><span>InnoDB 100W:423/s </span></li> </ol>
[插入数据3] (innodb_buffer_pool_size=1024M)
<ol> <li><span><span>InnoDB 1W:3/s </span></span></li> <li><span>InnoDB 10W:33/s </span></li> <li><span>InnoDB 100W:607/s </span></li> </ol>
[插入数据4] (innodb_buffer_pool_size=256M, innodb_flush_log_at_trx_commit=1, set autocommit=0)
<ol> <li><span><span>InnoDB 1W:3/s </span></span></li> <li><span>InnoDB 10W:26/s </span></li> <li><span>InnoDB 100W:379/s </span></li> </ol>
[MySQL 配置文件] (缺省配置)
<ol> <li><span><span># MySQL Server Instance Configuration File </span></span></li> <li><span>[client] </span></li> <li> <span>port</span><span>=</span><span>3306</span><span> </span> </li> <li><span>[mysql] </span></li> <li> <span>default-character-set</span><span>=</span><span>gbk</span><span> </span> </li> <li><span>[mysqld] </span></li> <li> <span>port</span><span>=</span><span>3306</span><span> </span> </li> <li> <span>basedir</span><span>=”C:/mysql50/” </span> </li> <li> <span>datadir</span><span>=”C:/mysql50/Data/” </span> </li> <li> <span>default-character-set</span><span>=</span><span>gbk</span><span> </span> </li> <li> <span>default-storage-engine</span><span>=</span><span>INNODB</span><span> </span> </li> <li> <span>sql-mode</span><span>=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” </span> </li> <li> <span>max_connections</span><span>=</span><span>100</span><span> </span> </li> <li><span> </span></li> <li> <span>query_cache_size</span><span>=</span><span>0</span><span> </span> </li> <li> <span>table_cache</span><span>=</span><span>256</span><span> </span> </li> <li> <span>tmp_table_size</span><span>=</span><span>50M</span><span> </span> </li> <li> <span>thread_cache_size</span><span>=</span><span>8</span><span> </span> </li> <li> <span>myisam_max_sort_file_size</span><span>=</span><span>100G</span><span> </span> </li> <li> <span>myisam_max_extra_sort_file_size</span><span>=</span><span>100G</span><span> </span> </li> <li> <span>myisam_sort_buffer_size</span><span>=</span><span>100M</span><span> </span> </li> <li> <span>key_buffer_size</span><span>=</span><span>82M</span><span> </span> </li> <li> <span>read_buffer_size</span><span>=</span><span>64K</span><span> </span> </li> <li> <span>read_rnd_buffer_size</span><span>=</span><span>256K</span><span> </span> </li> <li> <span>sort_buffer_size</span><span>=</span><span>256K</span><span> </span> </li> <li> <span>innodb_additional_mem_pool_size</span><span>=</span><span>4M</span><span> </span> </li> <li> <span>innodb_flush_log_at_trx_commit</span><span>=</span><span>1</span><span> </span> </li> <li> <span>innodb_log_buffer_size</span><span>=</span><span>2M</span><span> </span> </li> <li> <span>innodb_buffer_pool_size</span><span>=</span><span>159M</span><span> </span> </li> <li> <span>innodb_log_file_size</span><span>=</span><span>80M</span><span> </span> </li> <li><span>innodb_thread_concurr </span></li> </ol>
以上的相关内容就是对MySQL MyISAM的介绍,望你能有所收获。
mysql 中InnoDB和MyISAM的区别_MySQL
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。
MyIASM是IASM表的新版本,有如下扩展:
二进制层次的可移植性。
NULL列索引。
对变长行比ISAM表有更少的碎片。
支持大文件。
更好的索引压缩。
更好的键吗统计分布。
更好和更快的auto_increment处理。
以下是一些细节和具体实现的差别:
1.InnoDB不支持FULLTEXT类型的索引。
2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。
3.对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。
4.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。
5.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,但是对于使用的额外的InnoDB特性(例如外键)的表不适用。
另外,InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”
任何一种表都不是万能的,只用恰当的针对业务类型来选择合适的表类型,才能最大的发挥MySQL的性能优势
mysql 库类型 MyISAM 与 InnoDB 的批量转换
1 use 数据库
2 -- InnoBD 批量转 MyISAM 注意: 数据库名需要 引号""
3 select CONCAT(''alter table '',table_name,'' engine=MyISAM;'') FROM information_schema.tables WHERE table_schema="数据库" AND ENGINE="InnoDB";
4
5 -- MyISAM 批量转 InnoBD 注意: 数据库名需要 引号""
6 select CONCAT(''alter table '',table_name,'' engine=InnoBD ;'') FROM information_schema.tables WHERE table_schema="数据库" AND ENGINE="MyISAM";
7
8 -- 执行自动生成 执行语句
9 -- 例子: alter table `123` engine=MyISAM; 复制执行即可
我们今天的关于Mysql应用mysql innodb数据库批量转换表引擎为MyISAM的方法和mysql转换类型的分享已经告一段落,感谢您的关注,如果您想了解更多关于innodb数据库批量转换表引擎为MyISAM、MySQL MyISAM的引擎和InnoDB引擎的比较、mysql 中InnoDB和MyISAM的区别_MySQL、mysql 库类型 MyISAM 与 InnoDB 的批量转换的相关信息,请在本站查询。
本文标签: