mysql 5.5.31_mysql-5.5.31编译安装

我使用的mysql版本是5.5.31。自从mysql5.5.8之后,mysql的源码包编译安装都要用到cmake来进行编译了,编译的过程没有本质的区别,但是要直观很多。本片教程我们就一起来看一下如何在linux下编译mysql。

准备安装依赖包:

tar zxvf ncurses-5.6.tar.gz

cd

ncurses-5.6

./configure –prefix=/usr –with-shared

–without-debug

make

make install clean

1,编译安装cmake。

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

#tar cmake-2.8.4.tar.gz

#cd cmake-2.8.4

#./configure

-DWITH_SSL=system  必须指定,否则mysql安装不下去

#make && make install

1.1使用cmake编译mysql-5.5

cmake指定编译选项的方式不同于make,其实现方式对比如下:

./configure  cmake .

./configure --help  cmake . -LH or ccmake .

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/data/mysql

-DSYSCONFDIR=/etc

默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT__STORAGE_ENGINE=1

比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1

-DWITH_SSL=system

-DWITH_ZLIB=system

-DWITH_LIBWRAP=0

其它常用的选项:

-DMYSQL_TCP_PORT=3306

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DENABLED_LOCAL_INFILE=1

-DEXTRA_CHARSETS=all

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DWITH_DEBUG=0

-DENABLE_PROFILING=1

如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean

rm CMakeCache.txt

2,创建目录,用户和权限。

#mkdir -p /usr/local/mysql

#建立mysql安装目录

#mkdir -p /data/mysql

#建立mysql数据库目录

#groupadd mysql

#添加mysql组

#useradd -g msyql msyql

#添加一个mysql用户并加入到mysql组中

#chown -R mysql.mysql /data/mysql

#将/data/mysql目录的所有权赋予mysql组中的mysql用户

3,安装mysql

#cd mysql-5.5.28

#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_UNIX_ADDR=/data/mysql/mysql.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_I*ILE=1

-DMYSQL_DATADIR=/data/mysql

-DMYSQL_USER=mysql

-DMYSQL_TCP_PORT=3306

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

-DMYSQL_DATADIR=/data/mydata \

-DSYSCONFDIR=/etc \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DWITH_SSL=system \

-DWITH_ZLIB=system \

-DWITH_LIBWRAP=0 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

#make &&make install

备注:如果编译时提示找不到CMakeLists.txt,问题在于下载错误了源码包,就这一种可能,别瞎折腾了!

4,配置mysql

#cd /usr/local/mysql

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

#如果你的机器的内存教大,可以复制My-huge.cnf文件

#chmod 755 scripts/mysql_install_db

#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/

##初始化数据库

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

#设置开机启动mysql

#chmod 755 /etc/init.d/mysql

#chkconfig mysql on

#开机启动

#echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile

#将mysql的安装路径加入PATH中,方便启动mysql(重启生效)

可以在进程中查看mysql是否启动,完成。

设置一个mysql的root密码

#mysqlamdin -u root password '123456'

在这里我出现过一个问题:删除mysql 重新安装后会有一些错误。在编译完mysql后启动时会提示Starting

MySQL..The server quit without updating PID file

(/data/mysql/localhost.localdomain.pid

此时需要编辑vi /etc/my.cnf中的[mysqld]模块,在其中加入你的datadir路径如datadir =

/data/mysql

如果路径中没有localhost.localdomain.pid文件可能需要touch一个,然后赋予mysql用户的权限。

最后ps -aux |grep mysql

kill 掉mysql的进程

#/etc/init.d/mysql start 即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值