Heim >Datenbank >MySQL-Tutorial >mysql 5.5以上编译安装_MySQL

mysql 5.5以上编译安装_MySQL

WBOY
WBOYOriginal
2016-06-01 13:32:371277Durchsuche

bitsCN.com

mysql 5.5以上编译安装

 

mysql 5.5 以上的版本 社区版采用的是cmake 编译安装,不再采用之前gnu autotools 工具的 ./configure make make install安装了。

 

1. 系统环境

无论是centos还是debian ,都需要安装一些基础软件,例如gcc等:

 

gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool*

 

yum -y install

 

apt-get install

 

2.安装

1 下载软件

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.tar.gz

wget http://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-5.6/mysql-5.6.12.tar.gz

 

准备

 

1

cd /usr/local

2

mkdir mysql

3

cd mysql

4

mkdir data

5

groupadd mysql

6

useradd –r –g mysql mysql

7

mkdir /usr/local/mysql/data  (数据文件夹)

8

chown –R mysql.mysql /usr/local/mysql/data

2 安装

 

cmake 的编译参数通过这里查看

 

01

tar xzvf cmake-2.8.10.tar.gz

02

cd cmake-2.8.10

03

./bootstrap

04

make

05

make install

06

cd mysql-5.6.12

07

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql /

08

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock /

09

-DDEFAULT_CHARSET=utf8 /

10

-DDEFAULT_COLLATION=utf8_general_ci /

11

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk /

12

-DWITH_INNOBASE_STORAGE_ENGINE=1/

13

-DWITH_ARCHIVE_STORAGE_ENGINE=1/

14

-DWITH_BLACKHOLE_STORAGE_ENGINE=1/

15

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1/

16

-DWITH_READLINE=yes /

17

-DENABLED_LOCAL_INFILE=1 /

18

-DMYSQL_DATADIR=/usr/local/mysql/data /

19

-DMYSQL_TCP_PORT=3306

1

make

2

make install

 

3. 更改文件夹权限和初始化数据库 

1

cd /usr/local/mysql

2

chown –R mysql .

3

chgrp –R mysql .

 

复制配置文件,启动 

01

cp support-files/my-medium.cnf /etc/my.cnf

02

#初始化 table

03

chmod 755 scripts/mysql_install_db

04

 scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/       #此处指定用user用户运行

05

chown –R root .

06

chown –R mysql data

07

 

08

nohup ./bin/mysqld_safe --defaults-file=/etc/my.cnf &             #后台运行

09

#开机启动

10

cp support-files/mysql.server /etc/init.d/mysql.server   # 系统服务

1

chkconfig --add mysql.server       #开机启动

 这里启动的时候会报一警告:

 

 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

 

请在 my.cnf 文件里配置 explicit_defaults_for_timestamp=true

 

后记:

1.mysql 编译时参数 autotools 和 CMAKE 的一些对比 

 

斜体是较常用的(以下内容摘自mysql官方网站)http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide 

参数 configure 选项 CMake 选项 CMake 说明 

主安装目录 --prefix=/usr -DCMAKE_INSTALL_PREFIX=/usr 

mysqld 目录 --libexecdir=/usr/sbin -DINSTALL_SBINDIR=sbin 该目录相对--prefix,相当于/usr/sbin,不要加前缀(以下标“同上”的一样) 

数据目录 --localstatedir=/var/lib/mysql -DMYSQL_DATADIR=/var/lib/mysql   

配置文件my.cnf 目录 --sysconfdir=/etc/mysql -DSYSCONFDIR=/etc/mysql   

插件目录 --with-plugindir=/usr/lib64/mysql/plugin -DINSTALL_PLUGINDIR=lib64/mysql/plugin 同上 

Man page 目录 --mandir=/usr/share/man -DINSTALL_MANDIR=share/mysql 同上 

共享数据目录 --sharedstatedir=/usr/share/mysql -DINSTALL_SHAREDIR=share aclocal/mysql.m4 安装目录 

库安装目录 --libdir=/usr/lib64/mysql -DINSTALL_LIBDIR=lib64/mysql 同上 

Header 安装目录 --includedir=/usr/include/mysql -DINSTALL_INCLUDEDIR=include/mysql 同上 

信息文档目录 --infodir=/usr/share/info -DINSTALL_INFODIR=share/info 同上 

存储引擎也是做为插件安装的,configure 方式接受 --with-plugins 参数指定参数方式以逗号分隔或组名形式安装插件,但在 CMake 中各存储引擎是以参数形式单独配置的,以下几个较常用: 

-DWITH_INNOBASE_STORAGE_ENGINE=1                  INNODB 引擎 

-DWITH_ARCHIVE_STORAGE_ENGINE=1                     ARCHIVE 引擎 

-DWITH_BLACKHOLE_STORAGE_ENGINE=1              BLACKHOLE 引擎

 

常用的cmake参数(不同MySQL版本可能有一些差异,请参考官方文档)

 

 

-DCMAKE_INSTALL_PREFIX= 指向mysql安装目录

-DINSTALL_SBINDIR=sbin 指向可执行文件目录(prefix/sbin)

-DMYSQL_DATADIR=/var/lib/mysql 指向mysql数据文件目录(/var/lib/mysql)

-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目录(/etc/mysql)

-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目录(prefix/lib/mysql/plugin)

-DINSTALL_MANDIR=share/man 指向man文档目录(prefix/share/man)

-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)

-DINSTALL_LIBDIR=lib/mysql 指向对象代码库目录(prefix/lib/mysql)

-DINSTALL_INCLUDEDIR=include/mysql 指向头文件目录(prefix/include/mysql)

-DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info)

prefix官方推荐设为/usr

Storage Engine相关

类型csv,myisam,myisammrg,heap,innobase,archive,blackhole

若想启用某个引擎的支持:-DWITH__STORAGE_ENGINE=1

如:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

若想禁用某个引擎的支持:-DWITHOUT__STORAGE_ENGINE=1

如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

Library相关

-DWITH_READLINE=1 启用readline库支持(提供可编辑的命令行)

-DWITH_SSL=system 启用ssl库支持(安全套接层)

-DWITH_ZLIB=system 启用libz库支持(zib、gzib相关)

-DWTIH_LIBWRAP=0 禁用libwrap库(实现了通用TCP包装的功能,为网络服务守护进程使用)

-DMYSQL_TCP_PORT=3306 指定TCP端口为3306

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路径

-DENABLED_LOCAL_INFILE=1 启用本地数据导入支持

-DEXTRA_CHARSETS=all 启用额外的字符集类型(默认为all)

-DDEFAULT_CHARSET=utf8 指定默认的字符集为utf8

-DDEFAULT_COLLATION=utf8_general_ci 设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)

-DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持

-DMYSQL_USER=mysql 指定mysql用户(默认为mysql)

-DWITH_DEBUG=0 禁用debug(默认为禁用)

-DENABLE_PROFILING=0 禁用Profiling分析(默认为开启)

 

2. mysql 编译时出现错误及解决方案 

 

错误1:Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 

1. centos 下执行:yum -y install ncurses-devel 

ubuntu 下执行:apt-get install libncurses5 libncurses5-dev 

2. 删除 CMakeCache.txt,重新运行cmake

 

bitsCN.com
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn