首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql怎么启动innodb

MySQL中的InnoDB存储引擎是默认的存储引擎,它提供了事务安全(ACID兼容)的表。要启动InnoDB,通常是在MySQL配置文件中进行设置。以下是相关的步骤和概念:

基础概念

  • InnoDB: MySQL的一个存储引擎,支持事务处理、行级锁定和外键。
  • 配置文件: MySQL服务器的配置文件,通常是my.cnf(Linux/Unix)或my.ini(Windows)。

启动InnoDB

  1. 编辑配置文件: 打开MySQL的配置文件,例如在Linux上通常是/etc/my.cnf/etc/mysql/my.cnf
  2. 编辑配置文件: 打开MySQL的配置文件,例如在Linux上通常是/etc/my.cnf/etc/mysql/my.cnf
  3. 配置InnoDB: 在[mysqld]部分添加或修改以下配置项:
  4. 配置InnoDB: 在[mysqld]部分添加或修改以下配置项:
    • innodb_file_per_table: 每个InnoDB表使用单独的表空间文件。
    • innodb_buffer_pool_size: 设置InnoDB缓冲池的大小,通常是服务器内存的50%-80%。
    • innodb_log_file_size: 设置InnoDB日志文件的大小。
    • default_storage_engine: 设置默认存储引擎为InnoDB。
  • 重启MySQL服务: 保存并关闭配置文件后,重启MySQL服务以应用更改。
  • 重启MySQL服务: 保存并关闭配置文件后,重启MySQL服务以应用更改。
  • 或者在Windows上:
  • 或者在Windows上:

验证InnoDB是否启动

登录到MySQL并检查存储引擎:

代码语言:txt
复制
mysql> SHOW ENGINES;

你应该能看到InnoDB引擎的状态为YES

应用场景

InnoDB适用于需要高并发、事务处理和数据一致性的应用,如电子商务网站、银行系统、内容管理系统等。

常见问题及解决方法

  • InnoDB未启动:
    • 检查配置文件中是否有default_storage_engine=innodb
    • 确保配置文件中没有语法错误。
    • 确认MySQL服务已正确重启。
  • 性能问题:
    • 调整innodb_buffer_pool_size以适应服务器内存。
    • 检查磁盘I/O性能,确保有足够的磁盘空间和快速的磁盘。
    • 使用EXPLAIN语句分析查询性能,优化SQL查询。

参考链接

通过以上步骤,你应该能够成功启动并配置InnoDB存储引擎。如果遇到问题,请检查日志文件(通常是/var/log/mysql/error.log)以获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • mysql5.5与mysq 5.6中禁用innodb引擎的方法

    今天发现有一个备份的mysql数据文件夹异常变大,一查发现是多了三个文件:ibdata1 ib_logfile0 ib_logfile1,前者18m,后两个各5m,原来是迁移的时候从mysql5.0迁移到了5.5,而5.5关闭innodb启动不起来,于是我就开启了innodb,由于innodb会默认增加这几个数据文件和日志文件,导致变大。尝试设置数据文件的大小,结果告诉我最小10m,还是太大,于是探索关闭innodb的方法。 看日志发现说由于mysql程序升级了,需要运行mysql_upgrade升级一下mysql里面的数据库,这个比较简单,和mysql命令用法是一样的,运行一遍就ok了。然后发现还是无法关闭innodb,很奇怪,查了下发现原来mysql5.5默认使用innodb了,所以无法简单的关闭掉,还要设置一下默认使用的引擎为myisam才可以,在my.cnf里加上如下两句: 复制代码 代码如下: default-storage-engine=MYISAM innodb=OFF 重启mysql,然后删掉那三个讨厌的文件即可。 MySQL 5.6 禁用INNODB INNODB是MySQL被ORACLE收购后开发的,支持事务和行级锁等高级功能,但是并不是所有人都需要INNODB的,对大部分人来说,以前的MYISAM引擎就够了,一般会选择将默认引擎改为MYISAM,但是INNODB还是会耗费内存和硬盘,这时候,就需要把INNODB彻底禁用。 在以前的MySQL中,一般可以这么设置就行了: 复制代码 代码如下: default-storage-engine=MYISAM skip-innodb 但是在最新的MySQL5.6里,这么设置是没法启动的,需要再增加一句设置: 复制代码 代码如下: default-tmp-storage-engine=MYISAM 不仅如此,还需要添加以下配置,否则程序会很容易退出的: 复制代码 代码如下: loose-innodb-trx=0 loose-innodb-locks=0 loose-innodb-lock-waits=0 loose-innodb-cmp=0 loose-innodb-cmp-per-index=0 loose-innodb-cmp-per-index-reset=0 loose-innodb-cmp-reset=0 loose-innodb-cmpmem=0 loose-innodb-cmpmem-reset=0 loose-innodb-buffer-page=0 loose-innodb-buffer-page-lru=0 loose-innodb-buffer-pool-stats=0 loose-innodb-metrics=0 loose-innodb-ft-default-stopword=0 loose-innodb-ft-inserted=0 loose-innodb-ft-deleted=0 loose-innodb-ft-being-deleted=0 loose-innodb-ft-config=0 loose-innodb-ft-index-cache=0 loose-innodb-ft-index-table=0 loose-innodb-sys-tables=0 loose-innodb-sys-tablestats=0 loose-innodb-sys-indexes=0 loose-innodb-sys-columns=0 loose-innodb-sys-fields=0 loose-innodb-sys-foreign=0 loose-innodb-sys-foreign-cols=0 摘自http://docs.oracle.com/cd/E17952_01/refman-5.6-en/innodb-turning-off.html 另外MYSQL 5.6 比 5.5占用了更多的物理内存,虚拟内存跟5.5使用差不多(5.5也是一个虚拟内存消耗大户)。性能上比5.5提升了30%左右(根据官方文档,没作具体测试)。

    05

    MYSQL完整安装和主从双机配置

    ################################# mysql 完整安装 ########################### groupadd  mysql useradd -g mysql mysql mv /root/mysql-5.0.51b.tar.gz /usr/local/src tar -zxvf mysql-5.0.51b.tar.gz cd mysql-5.0.51b ./configure --with-charset=latin1 --with-extra-charsets=all --enable-assembler --with-mysqld-ldflags=-all-static --with-mysqld-user=mysql --prefix=/usr/local/mysql-5.0.51b --localstatedir=/data/mysql5051_db make make install ln -s /usr/local/mysql-5.0.51b /usr/local/mysql mkdir -p /data/mysql5051_db/dbdata mkdir -p /data/mysql5051_db/innodb mkdir -p /data/mysql5051_db/binlog chown -R mysql:mysql  /data/mysql5051_db chmod -R 775 /data/mysql5051_db cd /usr/local/src/mysql-5.0.51b vim ./scripts/mysql_install_db中的ldata=/data/mysql5051_db/dbdata cp ./support-files/my-small.cnf /etc/my.cnf /usr/local/mysql-5.0.51b/bin/mysql_install_db --basedir=/usr/local/mysql-5.0.51b --ldata=/data/mysql5051_db/dbdata --user=mysql vim /etc/my.cnf bind-address    = 192.168.0.8 datadir     = /data/mysql5051_db/dbdata/ pid-file    = /data/mysql5051_db/my.pid log-slow-queries=/data/mysql5051_db/dbdata/slowquery.sql log-bin  = /data/mysql5051_db/binlog/sortrepl.log ################innodb#################### # Uncomment the following if you are using InnoDB tables innodb_data_home_dir = /data/mysql5051_db/innodb/ innodb_data_file_path = ibdata1:1000M;ibdata2:1000M:autoextend:max:800M

    01
    领券