【MariaDB】MariaDB编译参数
參考:
http://wangfeng7399.blog.51cto.com/3518031/1393146?utm_source=tuicool
http://www.phperz.com/article/14/1202/38819.html
官網(wǎng)說明:
編譯https://mariadb.com/kb/zh-cn/generic-build-instructions/
環(huán)境https://mariadb.com/kb/zh-cn/linuxmariadb/
yum -y install cmake make glibc gcc gcc-c++ libstdc++* sysstat lrzsz libtool libxml* libtool-ltdl-devel* libaio autoconf automake zlib* ncurses* ncurses-devel bison bison-devel?
使用cmake編譯MariaDB-5.5
cmake指定編譯選項(xiàng)的方式不同于make,其實(shí)現(xiàn)方式對比如下:
./configure cmake .
cmake . -LH or ccmake .
指定安裝文件的安裝路徑時常用的選項(xiàng):
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc
默認(rèn)編譯的存儲引擎包括:csv、myisam、myisammrg和heap。若要安裝其它存儲引擎,可以使用類似如下編譯選項(xiàng):
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
若要明確指定不編譯某存儲引擎,可以使用類似如下的選項(xiàng):
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要編譯進(jìn)其它功能,如SSL等,則可使用類似如下選項(xiàng)來實(shí)現(xiàn)編譯時使用某庫或不使用某庫:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
其它常用的選項(xiàng):
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1
如果想清理此前的編譯所生成的文件,則需要使用如下命令:
make clean
rm CMakeCache.txt
cmake -DCMAKE_INSTALL_PREFIX=/servers/mariadb -DSYSCONFDIR=/servers/mariadb/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_SPHINX_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_PARTITION_STORAGE_ENGINE=1
make && make install
編譯完初始化要加載配置,否則會報錯:
Unable to load replication GTID slave state from mysql.gtid_slave_pos: Table 'mysql.gtid_slave_pos' doesn't exist in engine?http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html
用mysql_upgrade也會報:
Phase 1/5: Checking mysql database
Processing databases
mysql
mysql.column_stats OK
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.gtid_slave_pos
Error : Table 'mysql.gtid_slave_pos' doesn't exist in engine
status : Operation failed
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.index_stats OK
mysql.innodb_index_stats
Error : Table 'mysql.innodb_index_stats' doesn't exist in engine
status : Operation failed
mysql.innodb_table_stats
Error : Table 'mysql.innodb_table_stats' doesn't exist in engine
status : Operation failed
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK
mysql.table_stats OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
Repairing tables
mysql.gtid_slave_pos
Error : Table 'mysql.gtid_slave_pos' doesn't exist in engine
status : Operation failed
mysql.innodb_index_stats
Error : Table 'mysql.innodb_index_stats' doesn't exist in engine
status : Operation failed
mysql.innodb_table_stats
Error : Table 'mysql.innodb_table_stats' doesn't exist in engine
status : Operation failed
Phase 2/5: Running 'mysql_fix_privilege_tables'...
ERROR 1932 (42S02) at line 580: Table 'mysql.innodb_index_stats' doesn't exist in engine
ERROR 1932 (42S02) at line 583: Table 'mysql.innodb_table_stats' doesn't exist in engine
FATAL ERROR: Upgrade failed
初始化:
[root@T18555 data]# /servers/mariadb/scripts/mysql_install_db --defaults-file=/servers/mariadb/etc/my.cnf --basedir=/servers/mariadb/ --datadir=/data/mariadb/data/
?
posted on 2015-03-16 14:38 poorX 閱讀(...) 評論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/jiangxu67/p/4341795.html
總結(jié)
以上是生活随笔為你收集整理的【MariaDB】MariaDB编译参数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每天学点java_反射作用
- 下一篇: View的缩放操作--CGAffineT