Footsteps on my way !
perl/linux/测序分析

Centos 非ROOT 源码安装mysql 5.6.26

1.下载mysql

90X58PICjnE_1024http://www.mysql.com/downloads/ -> MySQL Community Edition (GPL) -> MySQL Community Server (GPL) -> Select Platform选择source code -> Generic Linux (Architecture Independent), Compressed TAR Archive -> Download -> Generic Linux (Architecture Independent), Compressed TAR Archive

也可以参考以下两个链接下载MySQL 5.6.26

http://dev.mysql.com/doc/refman/5.6/en/getting-mysql.html

http://dev.mysql.com/downloads/mirrors.html

2. 安装编译工具和依赖包(根据自身系统安装情况酌情添加)

安装g++和gdb

yum install gcc-c++

yum install gdb

安装cmake

yum install cmake

安装ncurses

yum install ncurses-devel

安装bison

yum install bison bison-devel

安装libz-devel

yum install zlib-devel (不安装此包会导致DBD::mysql perl模块 make时出错:”make: *** [blib/arch/auto/DBD/mysql/mysql.so] 错误 1″,最终用perl连接数据库时出错:“/usr/bin/perl: symbol lookup error: /share/workdir/yangl/perl_lib/lib64/perl5/auto/DBD/mysql/mysql.so: undefined symbol: mysql_init”)

如果接下来的编还报错,需根据报错信息添加相应的包(这部分内容是通过ROOT安装的,非ROOT用户可以自行研究怎么安装,一般大型公用系统应该都已经装好了这些工具和包)

编译依赖的工具说明请参考

http://dev.mysql.com/doc/refman/5.6/en/source-installation.html

3. 解压下载的tar包

tar -xvf mysql-5.6.26.tar #在这里我解后把文件夹移到了 /share/workdir/yangl/soft/mysql-5.6.26  (注意我的Home目录是/share/workdir/yangl)

4 安装

4.1 源码编译(mysql5.5以后是通过cmake来编译的)

cd  /share/workdir/yangl/soft

mkdir mysql  #mysql为最终的安装目录

cd /share/workdir/yangl/soft/mysql-5.6.26 #进入源码目录准备编译

cmake \
-DCMAKE_INSTALL_PREFIX=/share/workdir/yangl/soft/mysql/ \             #安装目录
-DMYSQL_DATADIR=/share/workdir/yangl/soft/mysql/data/ \                  #数据库存放目录
-DSYSCONFDIR=/share/workdir/yangl/soft/mysql \                                     #默认配置文件my.cnf所在目录,如果不通过 --defaults-file=<path to .cnf file>指定配置文件,用mysql_install_db安装配置mysql默认数据库时会自动选用此目录下的my.cnf配置文件
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \                                                                       #MySQL 5.6.5后移除此配置项,我安装时用了此项(当时是套用的别人的配置参数)
-DMYSQL_UNIX_ADDR=/share/workdir/yangl/soft/mysql/mysql.sock \   #用来连接数据库的Unix socket 文件的路径
-DMYSQL_TCP_PORT=3306 \                                                                           #TCP/IP段口号
-DENABLED_LOCAL_INFILE=1 \                                                                  #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \                                                                             #安装所有扩展字符集
-DDEFAULT_CHARSET=utf8 \                                                                       #使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci                                                  #校验字符

编译的参数请参考 http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

make

make install

cp support-files/my-default.cnf ../mysql

mv my-default.cnf my.cnf         #此my.cnf为mysql_install_db安装配置数据库时默认调用的配置文件,注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在-DSYSCONFDIR指定的目录(默认是/etc我们改成了/share/workdir/yangl/soft/mysql)下找,找不到则会搜索”$basedir/my.cnf”,在本例中就是 /share/workdir/yangl/soft/mysql/my.cnf,”$basedir/my.cnf”是新版MySQL的配置文件的默认位置!

由于我的mysql是用于orthomcl, 所以根据orthomcl要求修改了一些配置项,修改后的my.cnf文件:

4.2 安装mysql所需的内置数据库

cd /share/workdir/yangl/soft/mysql  #进入mysql安装目录

./scripts/mysql_install_db –user=yangl   (这个用户名yangl可以是任意名字)

4.3 手动启动mysql

./bin/mysqld_safe --log-error=/share/workdir/yangl/soft/mysql/log/mysqld.log --pid-file=/share/workdir/yangl/soft/mysql/mysqld.pid --user=yangl&

//启动MySQL,但不能停止

关闭MySQL服务

mysqladmin -u root -p shutdown  //这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。

4.4 另一种简单的启动mysql的方法(mysql已经被添加到系统服务中) –针对有ROOT权限的情况,无ROOT权限只能用上述方法

[root@ rhel5~]# service mysql.server start  
[root@ rhel5~]# service mysql.server stop
[root@ rhel5~]# service mysql.server restart

如果上述命令出现:mysql.server 未识别的服务

则可能mysql还没添加到系统服务中,下面用另一种方法添加:

[root@ rhel5 mysql]# cp support-files/mysql.server  /etc/init.d/mysql //将mysql的启动服务添加到系统服务中

注意:主要是将mysql.server拷贝到/etc/init.d中,命名为mysql。在有的系统中,mysql.server在/usr/local/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在/usr/local/mysql/support-files/mysql.server中。

然后再用#service mysql start 来启动mysql即可。

参考资料:

http://www.cnblogs.com/fly1988happy/archive/2011/11/21/2257682.html

http://www.cnblogs.com/codingthings/p/4693506.html

http://tieba.baidu.com/p/2566294666

http://blog.sina.com.cn/s/blog_6c663fa50100qur9.html

 

smartportal 自定义调用mysql (可以学习):

[yangl@localhost bin]$ rpm -qa|grep mysql

mysql-5.1.73-5.el6_6.x86_64
mysql-libs-5.1.73-5.el6_6.x86_64       #说明centos默认安装的是mysql client,没装mysql server

[root@localhost init.d]# find / -name mysql

/var/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/lib64/perl5/auto/DBD/mysql
/usr/lib64/perl5/DBD/mysql
/usr/lib64/mysql
/share/soft/smrtanalysis/userdata/log/log/mysql
/share/soft/smrtanalysis/userdata/log/mysql
/share/soft/smrtanalysis/userdata/database/mysql
/share/soft/smrtanalysis/userdata/database/mysql/data/mysql
/share/soft/smrtanalysis/userdata/database/mysql/config/etc/mysql
/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/redist/mysql-5.1.73/bin/mysql
/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/redist/mysql-5.1.73/share/mysql
/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/redist/mysql-5.1.73/include/mysql
/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/redist/mysql-5.1.73/lib/mysql
/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/redist/mysql
/share/soft/ncbi-rmblastn-2.2.28-src/c++/GCC447-ReleaseMT64/build/dbapi/driver/mysql
/share/soft/ncbi-rmblastn-2.2.28-src/c++/src/dbapi/driver/mysql

/bin/sh /share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/redist/mysql/bin/mysqld_safe –defaults-file=/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/common/userdata/database/current/config/etc/mysql/my.cnf –basedir=/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/redist/mysql –datadir=/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/common/userdata/database/current/data

/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/redist/mysql/libexec/mysqld –defaults-file=/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/common/userdata/database/current/config/etc/mysql/my.cnf –basedir=/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/redist/mysql –datadir=/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/common/userdata/database/current/data –log-error=/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/common/userdata/log/mysql/error.log –pid-file=/share/soft/smrtanalysis/install/smrtanalysis_2.3.0.140936/common/userdata/runtime/run/mysqld/mysqld.pid –socket=/tmp/mysql_53306.sock –port=53306

 

分享到:更多 ()

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址