1、安装依赖包
yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison
2、安装boost库:
首先先查询是否已经安装过boost
rpm -qa boost*
卸载旧boost-*等库:
yum -y remove boost-*
下载Boost库,在解压后复制到/usr/local/boost目录下,然后重新cmake并在后面的选项中加上选项 -DWITH_BOOST=/usr/local/boost
(下载:http://sourceforge.net/projects/boost/files/boost/)
注:mysql5.7.10 需要的boost版本为1.59.0 不能是其他版本
下载地址:http://liquidtelecom.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
3、下载mysql源码
官网下载地址:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
下载后解压
4、安装过程
(1)创建用户,组
# groupadd mysql
# mkdir /home/mysql #自定义位置
# mkdir /home/mysql/data #自定义位置
# useradd -g mysql -d /home/mysql mysql
(2)编译mysql
cmake -DCMAKE_INSTALL_PREFIX=/home/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
(3)安装
第二步没报错情况下
make && make install
(4)初始化数据库
进入安装补录下的bin目录下,执行
./mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data
注:初始化后会生成默认密码,请记录下来
(5) 调整配置文件和环境变量参数
将默认生成的my.cnf备份
# mv /etc/my.cnf /etc/my.cnf.bak
进入mysql的安装目录支持文件目录
# cd /mysql/support-files
拷贝配置文件模板为新的mysql配置文件,
# cp my-default.cnf /etc/my.cnf
可按需修改新的配置文件选项, 不修改配置选项, mysql则按默认配置参数运行.
如下是我修改配置文件/etc/my.cnf, 用于设置编码为utf8以防乱码
[mysqld]
character_set_server=utf8
init_connect=‘SET NAMES utf8‘
[client]
default-character-set=utf8
复制启动脚本到init.d下
cp /mysql/support-files/mysql.server /etc/init.d/mysqld
增加执行权限
chmod 755 /etc/init.d/mysqld
创建mysql命令文件
ln -s /mysql/bin/mysql /usr/bin/
注:没有这个文件就没有mysql命令,不能在任意位置使用mysql 访问数据库
(6)启动mysql
service mysqld start
(7)访问数据库
mysql -uroot -p
密码为刚才生成的密码
(8) 修改默认密码
alter user ‘root‘@‘localhost‘ identified by ‘123456‘;
注:不修改默认密码,将不能正常使用sql,必须修改
介此,mysql5.7.10 安装完成。
报错记录:
cmake 编译时,可能会遇到boost库报错,原因分析:可能是下载的boost版本与mysql要求版本不一致,boost的版本必须是mysql指定的版本,低于或高于指定版本均不可。