Home  >  Article  >  Database  >  Linux 下MySQL源码安装完整版

Linux 下MySQL源码安装完整版

WBOY
WBOYOriginal
2016-06-07 16:45:08794browse

在Linux中安装MySQL,通常为RPM与源码方式安装。对于生产环境而言,由于需要自定义诸如安装路径、数据文件位置、字符集以及支持的

在Linux中安装MySQL,通常为RPM与源码方式安装。对于生产环境而言,由于需要自定义诸如安装路径、数据文件位置、字符集以及支持的存储引擎等多以源码方式来进行安装。之前有写过一篇关于源码安装的文章,Linux下基于源码方式安装MySQL 5.6(),但不是很完整,因此该文可以作为其补充。以下为具体安装步骤,供大家参考。 

1、安装前的有关描述
必备的包和工具
  gcc/g++ :MySQL 5.6开始,需要使用g++进行编译。
  cmake  :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本。
  bison  :MySQL语法解析器需要使用bison进行编译。
  ncurses-devel :用于终端操作的开发包。
  zlib    :MySQL使用zlib进行压缩

功能需要的包
  libxml  :用于XML输入输出方式的支持。
  openssl  :使用openssl安全套接字方式通信。
  dtrace  :用于诊断MySQL问题。

有关MySQL编译参数
  CMAKE_BUILD_TYPE            编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化。
  CMAKE_INSTALL_PREFIX        指定make install安装的目标路径。
  SYSCONFDIR                  指定配置文件的默认路径。
  MYSQL_DATADIR              指定data目录的默认路径。
  WITH_DEBUG                  指定是否有debugging信息,一般用于源码调试时,打开WITH_DEBUG,生产环境关闭。
  ENABLED_PROFILING          指定是否可以使用show profile显示操作执行的详细信息。
  DEFAULT_CHARSET            指定默认字符集,可以在启动的配置文件中指定。
  DEFAULT_COLLATION          指定默认字符比较、排序的规则。
  WITH_EXTRA_CHARSETS        指定其他可能使用的字符集。
  WITH_SSL                    指定SSL的类型,,从5.6.6开始默认bundled类型,此外也可以指定SSL库的路径地址。
  WITH_ZLIB                  指定zlib的类型,用于压缩功能。
  ENABLED_LOCAL_INFILE        指定是否允许使用load data infile功能。
  WITH_EMBEDDED_SERVER        指定是否编译libmysqld嵌入式库。
  INSTALL_LAYOUT              指定安装的布局类型。
  WITH_storage_STORAGE_ENGINE 指定编译支持的存储引擎,默认支持MyISAM,MERGE,MEMORY,CSV存储引擎。
  更多详细参数可参考

本次安装环境
  [root@SZ-RD03 ~]# cat /etc/issue
  CentOS release 5.9 (Final)
  Kernel \r on an \m
 
  [root@SZ-RD03 ~]# uname -a
  Linux SZ-RD03 2.6.18-348.el5 #1 SMP Tue Jan 8 17:53:53 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
 
  MySQL版本:5.6.12-log Source distribution
  安装目录为:/app/soft/mysql/
  数据目录为:/data/mysqldata
  存储引擎包括:MEMORY,MyISAM,InnoDB等
  字符集为:UTF8
 

2、源码安装MySQL
先安装需要用到的库:
  yum -y install gcc gcc-c++
  yum -y install ncurses-devel

下载所需软件包:
  #将下载的文件都放到/usr/local/src目录下,如下
  # cd /usr/local/src
  # wget
  # wget
  # wget
  # wget ://cdn.mysql.com/

安装cmake编译器
  # cd /usr/local/src
  # tar -xvf cmake-2.8.11.1.tar.gz
  # cd cmake-2.8.11.1
  # ./bootstrap
  # make && make install

安装m4
  # cd /usr/local/src
  # tar -xvf m4-1.4.16.tar.gz
  # cd m4-1.4.16
  # ./configure && make && make install

安装bison
  # cd /usr/local/src
  # tar -xvf bison-2.7.tar.gz
  # cd bison-2.7
  # ./configure && make && make install

创建mysql用户与组,相关目录
  # /usr/sbin/groupadd mysql
  # /usr/sbin/useradd -g mysql mysql
  # mkdir -p /app/soft/mysql
  # chown -R mysql:mysql /app/soft/mysql
  # mkdir -p /data/mysqldata
  # chown -R mysql:mysql /data/mysqldata/

安装mysql
  # cd /usr/local/src
  # tar -xvf mysql-5.6.12.tar.gz
  # export CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
  # export CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
  # export CXX=g++
  # cd mysql-5.6.12
  # cmake -DCMAKE_INSTALL_PREFIX=/app/soft/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock
    -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=utf8,gbk 
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldata/ -DSYSCONFDIR=/app/soft/mysql/
    -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1
  # make && make install

初始化数据库
  # cd /app/soft/mysql/
  # ./scripts/mysql_install_db --user=mysql --ldata=/data/mysqldata

 

3、安装后的收尾工作
配置运行环境
  # vi /etc/profile
  # PATH=/app/soft/mysql/bin:/app/soft/mysql/lib:$PATH
  # export PATH
  # source /etc/profile

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn