环境:CentOS 6.5 x86_64-minimal
1.安装编译mysql的包
yum remove mysql-server mysql -y yum -y install gcc gcc-c++ ncurses-devel zlib-devel bison cmake openssl-devel perl
一定要安装这些依赖包,否则会各种报错
还有如果大家编译过程中出错, 请一定要执行:
rm -f CMakeCache.txt
2.创建mysql用户和目录
useradd mysql mkdir -p /usr/local/mysql mkdir -p /db/mysql/data
3.编译安装mysql
cd ~ wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.10.tar.gz tar -xzvf mysql-5.6.10.tar.gz cd mysql-5.6.10 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/db/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 make && make install
4 配置MYSQL
修改mysql目录的权限
chown -R mysql:mysql /usr/local/mysql/ chown -R mysql:mysql /db/mysql/data/
初始化mysql
\cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf cd /usr/local/mysql scripts/mysql_install_db --user=mysql --datadir=/db/mysql/data
添加环境变量
cd ~ echo "PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:\$PATH" >> /etc/profile echo "export PATH" >> /etc/profile source /etc/profile
设置MYSQL开机启动
\cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on 启动mysql service mysqld start
设置mysql密码
mysqladmin -u root password '123456'
导入开发的库文件
ln -sv /usr/local/mysql/include/ /usr/include/mysql
vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql-5
.5.40
/lib
ldconfig #重新加载库文件
ldconfig -p | grep mysql #让我们来检查下是不是加载好了
libmysqlclient_r.so.16 (libc6,x86-64) =>
/usr/lib64/mysql/libmysqlclient_r
.so.16
libmysqlclient.so.18 (libc6,x86-64) =>
/usr/local/mysql-5
.5.40
/lib/libmysqlclient
.so.18
libmysqlclient.so.16 (libc6,x86-64) =>
/usr/lib64/mysql/libmysqlclient
.so.16
libmysqlclient.so (libc6,x86-64) =>
/usr/local/mysql-5
.5.40
/lib/libmysqlclient
.so
参数详解:
-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_<ENGINE>_STORAGE_ENGINE=1
如:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
若想禁用某个引擎的支持:-DWITHOUT_<ENGINE>_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分析(默认为开启)
-DWITH_COMMENT='string' 一个关于编译环境的描述性注释