魅力博客

魅力Linux|魅力空间|魅力博客|学习Linux|ubuntu日记|电脑教程|手机软件

nexus PHP peers表users表torrents表转换为引擎为Innodb



要将Nexus PHP的peers表和users表torrents表 从MyISAM引擎转换为InnoDB引擎,可以按照以下步骤进行操作。


首先登录到数据库服务器上的命令行界面或者使用图形化工具连接到相应的数据库。


确保当前所在的数据库中存在需要修改引擎的peer表和user表。如果不存在,则创建这两张表并导入原有数据。


运行以下SQL语句来查看当前表的引擎类型:


SHOW TABLE STATUS LIKE 'table_name';



其中table_name分别指代peer表和user表的名称。


根据第三步得到的结果判断表的引擎类型是否为MyISAM。如果是,则继续下一步;如果已经是InnoDB引擎,则无需再次转换。


对于每个表,运行以下SQL语句来修改引擎类型为InnoDB:


ALTER TABLE table_name ENGINE=INNODB;



同样地,table_name分别指代peer表和user表的名称。


重复步骤5直至完成所有表的引擎类型转换。


最后,通过再次运行第三步的SQL语句来验证表的引擎类型是否已被正确更新为InnoDB。


注意事项:


在进行任何数据库操作之前,请务必备份现有数据以防止意外情况发生。


此处提供的是基本的操作流程,具体的执行步骤可能因数据库版本、配置等而有所不同。



Mysql MyISAM数据库批量转换表引擎为Innodb




最近在做事物处理需要把表结构都改为带有支持事物的Innodb引擎格式,

把里面数据库 用户名、密码 等信息修改为你自己的,放在网站下运行即可。如果想把Innodb改为MyISAM修改里面的  engine='InnoDB'  部分代码。



<?php
/**
 * User: Yt
 * Date: 2016/2/25 0025
 */
 
//连接数据库
$host='localhost';
$user='root';   //数据库用户名
$passwd='root'; //密码
$db='test';  //数据库名称
$link= mysql_connect($host,$user,$passwd);
if (!$link) {
    die('连接数据库失败: '.mysql_error() );
}
 
mysql_select_db( $db,$link ) or die ('打开数据库失败'. $db . mysql_error());
$result=mysql_query("SHOW TABLES ") or die( mysql_error());
while($row=mysql_fetch_row($result)){
    echo "$row[0] \n";
    mysql_query("ALTER TABLE  $row[0] ENGINE='InnoDB'") or die (mysql_error());
}
#var_dump($result);
mysql_close($link);
?>


InnoDB与MyISAM

以下是InnoDB和MyISAM之间的一些主要区别:


    • InnoDB具有行级锁定。MyISAM只有完整的表级锁定。

    • InnoDB具有所谓的参照完整性,它涉及支持外键(RDBMS) 和关系约束,而MyISAM没有 (DMBS)。

    • InnoDB支持事务,这意味着您可以提交和回滚。MyISAM没有。

    • InnoDB更可靠,因为它使用事务日志进行自动恢复。MyISAM没有。

您使用的是MyISAM还是InnoDB?

如果您在一个相当新的WordPress站点上运行,您很可能已经在使用InnoDB MySQL存储引擎。但是对于较旧的WordPress网站,您可能需要快速检查一下。一些站点甚至可能混合并匹配了MyISAM和InnoDB表,您可以通过将它们全部转换来看到改进。请按照以下这些简单的步骤进行检查。

第1步

登录到phpMyAdmin并单击进入您的mySQL数据库。

第2步

快速扫描或对“Type”列进行排序,您就可以看到您的表正在使用哪些存储引擎类型。在下面的这个示例中,您可以看到其中两个表仍在使用MyISAM。

find-myISAM-tables.png

查找MyISAM表

或者,您可以运行查询以查看是否存在任何myISAM表。将“database”替换为您的数据库名称。

SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' and ENGINE = 'myISAM'
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' and ENGINE = 'myISAM'
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' and ENGINE = 'myISAM'


使用phpMyAdmin将MyISAM转换为InnoDB

您可以相当轻松地将MyISAM转换为InnoDB。下面的这个例子是使用wp_comments表格。只需运行ALTER命令即可将其转换为InnoDB存储引擎。注意:我们始终建议在对MySQL数据库运行任何操作之前对其进行备份。

ALTER TABLE wp_comments ENGINE=InnoDB;

确保您运行的是MySQL 5.6.4或更高版本,否则,您可能会遇到InnoDB尚不支持全文索引的问题。

或者,您也可以使用phpMyAdmin手动转换它们。只需单击myISAM表,单击进入“Operations”选项卡,然后更改存储引擎。

convert-myisam-table-to-innodb-phpmyadmin.png




返回顶部

发表评论:

Powered By Z-BlogPHP 1.7.3


知识共享许可协议
本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。
网站备案号粤ICP备15104741号-1