很多对MySQL很熟悉的用户都喜欢采用源码包来进行安装,因为在安装源码包的过程中能够提供更灵活的安装选项和更多的性能设置。
去掉不需要的模块
源码安装由于可以灵活地进行数据库的定制编译,因此有更强的灵活性。某些编译选项可以大大增加用户数据库的性能。
执行如下命令可以看到所有编译的配置选项:
shell> ./configure --help
如果只安装客户端,则可以执行如下命令:
shell>./configure --prefix=/usr/local localstatedir=/usr/local/mysql/data
第一条命令改变安装前缀以便将所有内容安装到“/usr/local/mysql”下面而非默认的“/usr/local”。第二个命令保留默认安装前缀,但是覆盖了数据库目录默认目录(通常是“usr/local/var”)并且把它改为/usr/local/mysql/data。编译完MySQL后,可以通过选项文件更改这些选项。
修改socket的默认位置:
shell>./configure --with-unix-socket-path=/usr/locak/mysql/tmp/mysql.sock
只选择要使用的字符集
MySQL使用LATIN1和LATIN1_SWEDISH_CI作为默认的字符集和校对规则。如果想改变安装后的默认字符集和默认排序规则,可以使用如下编译选项:
shell> ./configure -- with-charset=CHARSET
./configure --with-collation=COLLATION
如果不需要安装所有的字符集,那么编译的时候可以选择只安装用户需要的字符集。这样可以节省更多的系统资源,并且使得安装后的MySQL速度更快。编译选项如下:
shell>./configure --with-extra-charsets=LIST
LIST可以是下面任何一项:
- 以空格为间隔的一些列字符集名;
- complex,以包括不能动态装载的所有字符集;
- all,包括所有字符集。
使用静态编译以提高性能
使用静态编译将可以打打提高MySQL的性能,编译选项如下:
shell>./configure --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
其中的选项含义如下:
--with-client-1dflags=-all-static以纯静态方式编译客户端;
--with-mysqld-1dflags=-static以纯静态方式编译服务端。