mysql5.7.7rc版本的源码编译过程

回复 收藏

MySQL的版本为最新的5.7.7版。在MySQL5.7.7中有一些新的特性如:
1、初始化数据库时不再使用“--mysql_install_db”而是使用了“--initialize”或是”--initialize-insecure”,区别在于“--initialize”会生成一个随机密码而”--initialize-insecure”不会生成密码。
2、不在生成 .mysql_secret 文件;
3、不再创建匿名用户MySQL账户;
4、不再创建测试数据库。

    环境:
CentOS 6.5
mysql 5.7.7rc

准备安装文件

使用yum安装需要的软件包:(重要)
# yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel ncurses-devle


  1.创建mysql用户及需要的目录
    创建Mysql用户组和用户,及数据库存放目录:
# mkdir -p /usr/local/mysql/
# mkdir -p /data/mysqldata/3306/{data,binlog,tmp}
# groupadd mysql
# useradd mysql -g mysql
# chown -R mysql:mysql /data/mysql
# chown -R mysql:mysql /usr/local/mysql

    从MySQL 5.7.5开始Boost库是必需的,下载Boost库并上传到/usr/local/src下,在解压后复制到/usr/local/boost目录下

然后重新cmake并在后面的选项中加上选项-

DWITH_BOOST=/usr/local/boost(下载:http://sourceforge.net/projects/boost/files/boost/
# cd /usr/local/src
# tar –zxvf boost_1_57_0.tar.gz
# cp –a /usr/local/src/boost_1_57_0 /usr/local/boost

    注:mysql编译安装需要的各种软件包,有些包可以用yum安装,但有些软件包只能下载并单独安装。

    3.编译安装mysql软件
    将mysql二进制安装包 mysql-5.7.7-rc.tar.gz 上传到/usr/local/src/目录下准备编译安装:
# cd /usr/local/src/
# sz mysql-5.7.7-rc.tar.gz
# tar -zxvf mysql-5.7.7-rc.tar.gz
# cd mysql-5.7.7-rc

    执行cmake命令:
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='xuewen for mysqltest' \
-DWITH_READLINE=ON \
-DSYSCONFDIR=/data/mysql \
-DWITH_BOOST=/usr/local/boost \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock

    在cmake完成后,执行下面的命令进行编译与安装:
# make     ---开始编译
# make install     ----编译安装

    编译安装后,可以确认mysql软件目录:
# chown -R mysql:mysql /usr/local/mysql/
# ls -la /usr/local/mysql/

    注:cmake和编译安装的时间都比较长,在编译过程如果提示错误,可以根据提示完善相关安装条件,然后执行下面的命令后,再重新编译安装:
# make clean
# rm -f CMakeCache.txt   

    4.创建数据库服务
    在5.5和5.6版本中,mysql数据库是使用mysqld_db_install命令进行初始化的;在5.7之后,数据库初始化发生了改变,需要mysqld命令进行初始化:
# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
---以root初始化操作时要加--user=mysql参数,生成一个随机密码(注意保存登录时用)
    数据库初始化后,再次修改权限:
# chown -R mysql:mysql /data/mysqldata/

    注意:mysql 5.7之后,默认只会创建一个 root@localhost用户,也没有test表空间,root用户的初始密码随机生成,在命令行或者error.log中可以看到。


echo $?


ls

cd support-files/

ls  /etc/my.cnf  

cp my-large.cnf  /etc/my.cnf

覆盖


vim !$

注释文件

#log-bin=mysql-bin

#binlog_format=mixed
#server-id      = 1

ls /etc/init.d/

cp mysql.server  /etc/init.d/mysqld

vim !$

baedir=/usr/local/mysql

datadir=/data/mysql

chkconfig --add mysqld

chkconfig mysqld on

/etc/init.d/mysqld start


ps aux |grep mysql


netstat -lnp |grep mysql  #查看端口


90.jpg






2016-03-22 09:18 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: