以下的文章主要向大家讲述的是如何在Linux操作系统下对MySQL进行正确的安装,以及有对不同MySQL安装的方案的比较,其中包括使用rpm对其进行安装,二进制安装,源码安装这三种方案的比较。
安装方法比较
一.使用rpm安装
安装简单,适合初学者学习使用
1. 需要单独下载客户端和服务器
2. 安装路径不灵活,默认路径不能修改,一台服务器只能MySQL安装一个 MySQL
文件布局
/usr/bin客户端程序和脚本
/usr/sbinMySQLd 服务器
/var/lib/MySQL 日志文件,数据库
/usr/share/doc/packages 文档
/usr/include/MySQL包含(头)文件
/usr/lib/MySQL库
/usr/share/MySQL错误消息和字符集文件
/usr/share/sql-bench基准程序
大多数情况下,下载MySQL-server 和MySQL-client 就够用了,安装方法如下:
shell> rpm -ivh MySQL-server-VERSION.i386.rpm
shell> rpm -ivh MySQL-client-VERSION.i386.rpm
二.二进制安装
1. 安装简单
2. 可以地安装到任何路径下,灵活性好
3. 一台服务器可以MySQL安装多个 MySQL
1) 已经经过编译,性能不如源码编译的好
2) 不能灵活定制编译参数
bin客户端程序和 MySQLd服务器
data日志文件,数据库
docs文档,ChangeLog
include包含(头)文件
lib库
scriptsMySQL_install_dbshare/MySQL 错误消息文件
sql-bench 基准程序
安装
root登陆,执行如下步骤:
代码
shell> groupadd MySQL shell> useradd -g MySQL MySQL shell> cd /home/MySQL shell>tar -xzvf /home/MySQL/MySQL-VERSION-OS.tar.gz shell> ln -s MySQL-VERSION-OS.tar.gz MySQL shell> cd MySQL shell> scripts/MySQL_install_db --user=MySQL shell> chown -R root:MySQL . shell> chown -R MySQL:MySQL data shell> bin/MySQLd_safe --user=MySQL &
三.源码安装
1. 在实际安装的操作系统进行可根据需要定制编译,最灵活
2. 性能最好
3. 一台服务器可以安装多个 MySQL
1. 安装过程较复杂
2. 编译时间长
bin客户端程序和脚本
include/MySQL包含(头)文件
info Info格式的文档
lib/MySQL库
libexec MySQLd服务器
share/MySQL错误消息文件
sql-bench基准程序和crash-me测试
var数据库和日志文件
1)去掉不需要的模块:
源码MySQL安装由于可以灵活的进行数据库的定制编译,因此有更强的灵活性。某些编译选项可以大大增强我们数据库的性能。
执行如下命令可以看到所有编译的配置选项:
shell> ./configure --help
如果只安装客户端,可以执行如下命令:
shell> ./configure --without-server
如果你不想要位于“/usr/local/var”目录下面的日志(log)文件和数据库,使用类似于下列configure 命令的一个:
shell>./configure--prefix=/usr/local/MySQL shell>./configure--prefix=/usr/locallocalstatedir=/usr/local/MySQL/data
第一个命令改变安装前缀以便将所有内容MySQL安装到“/usr/local/MySQL”下面而非默认的“/usr/local”。第二个命令保留默认安装前缀,但是覆盖了数据库目录默认目录(通常是“/usr/local/var”)并且把它改为/usr/local/MySQL/data。编译完MySQL后,可以通过选项文件更改这些选项修改socket 的默认位置:
shell> ./configure\-- with-unix-socket-path=/usr/local/MySQL/tmp/MySQL.sock
2)只选择要使用的字符集:
改变安装后的默认字符集和排序规则:
shell> ./configure -- with-charset=CHARSET ./configure --with-collation=COLLATION
选择需要MySQL安装的字符集:
shell>./configure --with-extra-charsets=LIST
list可以是下面任何一项:
空格间隔的一系列字符集名
complex -,以包括不能动态装载的所有字符集all –,以将所有字符集包括进二进制
3)使用pgcc编译:
pgcc 2.90.29 或更新版:
CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \-felide-constructors -fno- exceptions -fno-rtti"
4)使用静态编译以提高性能:
shell>./configure --with-client-ldflags=-all-static\ --with-MySQLd-ldflags=-all-static