您的位置:首页 > 数据库 > MySQL

cmake 安装 mysql5.5 版本

2015-11-06 15:00 585 查看
1、安装确保以下系统相关库文件

gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool*(libtool-ltdl-devel*)

# yum –y install gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool* cmake

2、 建立mysql安装目录及数据存放目录

# mkdir /usr/local/mysql

# mkdir -p /data/mysql

3、 创建用户和用户组

# groupadd mysql

# useradd -g mysql mysql

4、 赋予数据存放目录权限

# chown mysql.mysql –R /data/mysql

二、安装MySQL 5.5.35

1、 获取解压mysql-5.5.35.tar.gz

在mysql.com官网或国内镜像下载源码

# wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.46.tar.gz
# tar zxvf mysql-5.5.35.tar.gz

# cd mysql-5.5.35

2、 编译mysql-5.5.35

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/data/mysql \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306

# make

# make install

3、 复制配置文件

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

4、 初始化数据库

执行前需赋给scripts/mysql_install_db文件执行权限

# chmod 755 scripts/mysql_install_db

# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ \

--datadir=/data/mysql/

注:basedir:mysql安装路径 datadir:数据库文件储存路径

5、 设置mysqld的开机启动

# cp support-files/mysql.server /etc/init.d/mysql

# chmod 755 /etc/init.d/mysql

# chkconfig mysql on

6、 为MySQL配置环境变量

将mysql的bin目录加到PATH中,有利于以后管理和维护,在/etc/profile中加入myslq/bin,同时增加两个别名方便操作:

# export PATH=/usr/local/mysql/bin:$PATH

# alias mysql_start="mysqld_safe &"

# alias mysql_stop="mysqladmin –u root -p shutdown"

7、 启动mysql服务

# /etc/init.d/mysql start

启动完成之后用ps -ef |grep mysql 命令查看是否启动

8、 登陆mysql

#mysql -uroot -p


提示 在自行编译mysql,并连接本地机时,常出现找不到mysqld.sock的错误.

[root@lfqb data]# mysql -uroot

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)

错误原因: mysql客户端默认去找 /tmp/mysqld.sock 做连接,而mysqld.sock有可能不在此处.

比如在 /var/lib/mysql/mysql.sock

解决:

1: mysql -S /sock/path 指定真实的路径

mysql -S /var/lib/mysql/mysql.sock

2: 在/tmp下做一个链接,链接到真实sock文件.

# ln /var/lib/mysql/mysql.sock /tmp/mysqld.sock

3: sock文件在linux环境中连接本地机才能使用,速度比用本机IP要快.

你也可以强行指定用IP来连接.


Sysbench的编译

下载:http://bazaar.launchpad.net/~sysbench-developers/sysbench/0.5/files

解压:

#cd /path/to/sysbench

# ./autogen.sh

注:出现如下错误,则yum安装automake,libtoolize

automake 1.10.x (aclocal) wasn't found, exiting

libtoolize 1.4+ wasn't found, exiting

出现如下问题,则说明需要安装mysql-devel,即mysql的头文件

drv_mysql.c: 在函数‘mysql_drv_done’中:

drv_mysql.c:851: 警告:隐式声明函数‘mysql_library_end’

#../configure --prefix=/usr/local/sysbench --with-mysql-includes=/usr/include/mysql/ \

--with-mysql-libs=/usr/lib64/mysql/

#make && make install
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: