Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5143
  • 博文数量: 2
  • 博客积分: 20
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-11 16:23
文章分类

全部博文(2)

文章存档

2013年(2)

我的朋友

分类: Mysql/postgreSQL

2013-10-17 19:14:43

网上大多数都是怎样将mysql安装到全局的系统中,但是真正的生产环境中需要安装到自己的work目录下,不要打扰系统中的”别人“
Oracle收购mysql之后不知道为什么编译工具换成Cmake,导致之前积累的configure参数都没用了,得重新搜索。
在使用cmake编译安装的过程中,最大的困难就是关于系统的my.cnf位置的配置,因为编译后,默认会从/etc/mysql/my.cnf来查找。

步骤如下:
1. download and install cmake (sudo apt-get install cmake). 这个不用说了
各版本的区别说一下:

MySQL Enterprise Edition

 (commercial) 【企业商业版,需要付费】

MySQL Cluster CGE

 (commercial)   【企业商业集群版,需要付费】

MySQL Community Edition

 (GPL) 【社区版,免费】 (个人用户或者想免费的单机版一般用这个,本文就是下载的这个)
MySQL Cluster (GPL)
 【社区集群版,免费】

2. 解压。 配置调用cmake的参数:
自己写了一个myinstall.sh脚本方便以后使用
===myinstall.sh====
PORT=3310
DEST_DIR=/home/your_name/opt/mysql${PORT}
rm -f CMakeCache.txt  # 重复编译时需要清除缓存文件
make clean  #重复编译时需要清除缓存文件
cmake \
    -DCMAKE_INSTALL_PREFIX=${DEST_DIR} \
    -DMYSQL_UNIX_ADDR=${DEST_DIR}/mysqld/mysql.sock \
    -DSYSCONFDIR=${DEST_DIR}/etc \
    -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=${DEST_DIR}/data \
    -DMYSQL_USER=mysql \
    -DMYSQL_TCP_PORT=${PORT}
===end of myinstall.sh ===
$ ./myinstall.sh
$ make
$make install

安装“数据库”(类似于初始化)
$cd /your/mysql/dir
$./scripts/mysql_install_db --basedir=/your/mysql/install/dir

写一个配置文件放到之前配置的  -DSYSCONFDIR 中,
或者修改安装根目录下生成的my.cnf,并将其放入之前的 -DSYSCONFDIR 中(如果没有文件夹,需要自己创建)
====my.cnf====
从网上找,或者从别处拷贝一个
====my.cnf====

启动mysql:
$cd /your/mysql/dir
$ ./bin/mysqld_safe --basedir=/your_mysql/install/dir & #如果不指定basedir,会有一条警告,有的会报错,可能导致启动不起来,最好写上。

第一次配置数据库的root用户的密码:
$./bin/mysqladmin -u root password 'your_password'
一切顺利就可以连接了:
$./bin/mysql -u root -p your_password

关闭 mysql:
$./support-files/mysql.server stop


Mysql CMAKE编译参数详解:
以下是博主原先整理的一些mysql编译参数详解,提供给热衷于源码编译安装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分析(默认为开启)
-DWITH_COMMENT='string' 一个关于编译环境的描述性注释
阅读(202) | 评论(0) | 转发(0) |
0

上一篇:python 学习起步

下一篇:没有了

给主人留下些什么吧!~~