Linux启用MySQL的InnoDB引擎
来源:互联网 发布:网络综艺节目的特点 编辑:程序博客网 时间:2024/05/20 17:24
前几天公司的一个项目组的同事反应说公司内部的一台Linux服务器上的MySQL没有InnoDB这个引擎,我当时想应该不可能啊,MySQL默认应该就已经安装了这个引擎的吧,于是上服务器去看了看,发现还真没有,于是putty到服务器上,show engines看了一下:
+------------+---------+| Engine | Support | +------------+---------+| CSV | YES | | MRG_MYISAM | YES || MEMORY | YES || MyISAM | DEFAULT |+------------+---------+
列表中没有InnoDb,第一反应是不是安装MySQL的时候没有编译InnoDb呢?但心想MySQL应该是自带了的,但google发现有网友说因为InnoDb是以插件的方式加载到MySQL中的,所以可以直接使用install plugin innodb soname 'ha_innodb.so'来启用InnoDB,但首先我们需要查看一下是否已经编译InnoDb:
mysql> show plugins;+------------+--------+----------------+---------+---------+| Name | Status | Type | Library | License |+------------+--------+----------------+---------+---------+| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL || CSV | ACTIVE | STORAGE ENGINE | NULL | GPL || MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL || MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL || MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |+------------+--------+----------------+---------+---------+但是发现连插件里面都没有,这下可以确定是没有编译了,于是决定对MySQL重新编译,当然编译前请先备份所有数据库,以免造成数据丢失。
[root@192.168.1.1]# mysqldump --all-database -u root -p > /data0/www/1.sql[root@192.168.1.1]# mysql-5.1.60]#screen -S stou[root@192.168.1.1]# mysql-5.1.60]#automake --force --add-missing[root@192.168.1.1]# mysql-5.1.60]#./configure --prefix=/usr/local/mysql/ --with-plugins=innobasewdcp下安装:[root@192.168.1.1]# mysql-5.1.60]#./configure --prefix=/usr/local/mysql/ --with-plugins=innobase --with-charset=gbk --with-collation=gbk_chinese_ci
但是最后却出现了以下错误:
mysql.cc:1049: error: expected constructor, destructor, or type conversion before '*' tokenmysql.cc: In function 'int not_in_history(const char*)':mysql.cc:2427: error: 'HIST_ENTRY' was not declared in this scopemysql.cc:2427: error: 'oldhist' was not declared in this scopemysql.cc:2427: error: 'history_get' was not declared in this scopemysql.cc: In function 'void initialize_readline(char*)':mysql.cc:2463: error: invalid conversion from 'char** (*)()' to 'char** (*)(const char*, int, int)'mysql.cc:2464: error: invalid conversion from 'int (*)(const char*, int)' to 'char* (*)(const char*, int)'mysql.cc:2465: error: invalid conversion from 'int (*)()' to 'int (*)(int, int)'mysql.cc:2465: error: initializing argument 2 of 'int rl_add_defun(const char*, int (*)(int, int), int)'mysql.cc: In function 'char** new_mysql_completion(const char*, int, int)':mysql.cc:2487: error: 'completion_matches' was not declared in this scopemake[2]: *** [mysql.o] Error 1make[2]: Leaving directory `/usr/download/mysql-5.1.60/client'make[1]: *** [all] Error 2make[1]: Leaving directory `/usr/download/mysql-5.1.60/client'make: *** [all-recursive] Error 1Google一下发现不少人都有这个问题,其实解决这个问题只需要在configure前执行一次:
[root@192.168.1.1]# make clean然后再重复./configure --prefix=/usr/local/mysql/ --with-plugins=innobase和make这个步骤就可以了,然后再:
[root@192.168.1.1]# make install[root@192.168.1.1]# service mysqld restart[root@192.168.1.1]# mysql -u root -pmysql> show engines;+------------+---------+| Engine | Support |+------------+---------+| CSV | YES || MRG_MYISAM | YES || MEMORY | YES || InnoDB | YES || MyISAM | DEFAULT |+------------+---------+
InnoDB启用成功!
- Linux启用MySQL的InnoDB引擎
- Linux MySql 启用InnoDB
- MySql中启用InnoDB数据引擎的方法
- MySql中启用InnoDB数据引擎的方法
- MySql中启用InnoDB数据引擎的方法
- MySql中启用InnoDB数据引擎的方法
- MySql中启用InnoDB数据引擎的方法
- MySql中启用InnoDB数据引擎
- Centos 7 mysql 5.5 启用innodb引擎
- MySQL的存储引擎INNODB
- mysql的innodb引擎优化
- Linux 下 mysql备份与还原,InnoDB引擎的使用
- InnoDB存储引擎 --mysql的存储引擎
- LNMP mysql启用innodb
- mysql启用InnoDB
- Linux下MySQL使用InnoDB引擎笔记
- mysql的innodb引擎的count(*)陷阱
- 关于注掉skip-innodb选项也不能启用innoDB引擎的解决办法
- 黑马程序员--Jquery 学习笔记
- Android应用程序键盘(Keyboard)消息处理机制分析
- PowerDesigner(CDM—PDM—SQL脚本的转换流程) 随笔
- updatepanel中gridview导出到Excel解决办法
- POJ 1106 极角排序
- Linux启用MySQL的InnoDB引擎
- android -- libcurl移植、编译与测试
- ubuntu 12.04 server + OPENACS(TR069)安装配置日记
- 多进程与多线程的选择
- PL/SQL 怎么判断两个结果集是否相等
- QT中QWidget、QDialog及QMainWindow的区别
- 1013 Digital Roots
- java单例模式详解
- Android默认闹钟-铃声-通知提示音修改