+ -
当前位置:首页 → 问答吧 → 添加新参数后重新编译mysql应该怎么处理

添加新参数后重新编译mysql应该怎么处理

时间:2010-12-10

来源:互联网

freebsd已经稳定的运行了三年,当时手动编译的mysql,现在因为需要想添加innodb的支持
因为已经忘记了当时编译时添加的参数,并且现在有数据,
如何在不影响现有数据的情况下添加innodb的支持
请给小弟指一条明路,先谢谢各位朋友了。

作者: 如止水   发布时间: 2010-12-10

本帖最后由 heqidz 于 2010-12-11 10:04 编辑

回复 如止水

freebsd下你却用手动编译mysql,显然楼主是从linux转过来的,不过这样也挺好

要想在不重新编译的情况下加载innodb引擎,似乎是不行的,mysql从5.1开始就不默认支持innodb引擎了,要使用innodb必须编译时,在configrue的时候,加上--with-plugins=innobase这个参数,你也可以这样嘛,

数据库最重要的是数据,你先把你数据备份一次,以防万一(既然你之前没有innodb类型的表,就只要copy你的整个数据目录即可,copy之前需停掉mysql服务)。然后再用ports或手动编译安装另一个mysql,再导入

相应的数据不就行了。以上希望能帮到你

PS:linux下查看之前mysql编译的参数用这个:

假设你安装的mysql目录为/usr/local/下mysql目录
  1. cat /usr/local/mysql/bin/mysqlbug |grep -i configure
  2. # This is set by configure
  3. CONFIGURE_LINE="./configure  '--prefix=/usr/local/mysql' '--without-debug' '--with-pthread' '--enable-thread-safe-client' '--enable-assembler' '--with-client-ldflags=-all-static' '--with-mysqld-ldflags=-all-static' '--with-charset=latin1' '--with-extra-charsets=utf8,gbk' '--with-big-tables' '--enable-local-infile' '--without-bench' '--enable-profiling' '--with-cvs-storage-engine' '--with-federated-storage-engine' '--without-embedded-server' '--with-server-suffix=-community' '--with-innobase' '--with-innodb' '--with-myisam' '--with-partition'"
  4. `test -n "$CONFIGURE_LINE"  && echo "Configure command: $CONFIGURE_LINE"`
复制代码

作者: heqidz   发布时间: 2010-12-11