源码编译安装MySQL5.6.16

mysql5.6.16的安装和之前的5.5、5.1有些不同,编译的时候不再使用./configure来进行了,使用了cmake命令来进行编译项目。

准备编译环境

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel gcc \ 
       autoconf automake zlib* fiex* libxml* libmcrypt* libtool-ltdl-devel*

下载MySQL

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
tar xvf mysql-5.6.16.tar.gz
cd mysql-5.6.16

编译源码

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

接着编译源码

make && make install

修改文件权限,生成数据库

groupadd mysql
useradd -r -g mysql mysql
cd /usr/local/mysql
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data  --basedir=/usr/local/mysql 

设置配置文件

MySQL 5.6.8开始,就不在分发my.cnf等配置的demo,所以想随便拿一个用都比较麻烦。

my.cnf的配置文件的默认读取顺序为

File Name(上面的优先) Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options
SYSCONFDIR/my.cnf Global options
$MYSQL_HOME/my.cnf Server-specific options
defaults-extra-file The file specified with --defaults-extra-file=*path*, if any
~/.my.cnf User-specific options
~/.mylogin.cnf Login path options
[client]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld]
port=3306
bind-address=127.0.0.1
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

启动MySQL,开机自动启动设置

手动启动MySQL。

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
##或者
service mysql start

在上面的步骤后,开机自动启动设置

chkconfig --add mysql
##有的系统需要下面的
chkconfig --level 345 mysql on

可以参考:http://dev.mysql.com/doc/refman/5.6/en/automatic-start.html

修改root密码

默认的密码是空的,很危险,需要修改一下。

然后修改密码

$ mysql
mysql> SET PASSWORD = PASSWORD('123456');

将来如果你忘记了root密码,可以参考重置MySQL密码。

通过上面的步骤,就可以使用MySQL数据库了,另外可以为mysql安装phpmyadmin作为前端的管理界面。

转载自东东东 陈煜东的博客

你可能感兴趣的:(源码编译安装MySQL5.6.16)