安装编译代码需要的包
yum -y install make git gcc-c++ bison-devel ncurses-devel perl per-devel ncurses-devel创建数据存放目录
[root@MGM1 ~]# mkdir -p /data/program/mysql/{data,tmp}- 创建用户和用户组与赋予数据存放目录权限
[root@localhost mysql-5.7.12]# groupadd mysql
[root@localhost mysql-5.7.12]# useradd -g mysql mysql
[root@localhost mysql-5.7.12]# chown -R mysql:mysql /data/program/mysql 安装Cmake (若已经在线安装好cmake,此步可以省略)
(mysql5.6以后是通过cmake来编译的)解压cmake-3.5.2tar.gz
[root@localhost ~]# cd /data/software
[root@localhost mysql-5.7.12]# tar zxvf cmake-3.5.2.tar.gz
[root@localhost mysql-5.7.12]# cd cmake-3.5.2[root@localhost cmake-3.5.2]# ./bootstrap
没有报错后,编译安装
[root@localhost cmake-3.0.2]# gmake
[root@localhost cmake-3.0.2]# gmake install
(时间大概需要10分钟左右)
[root@localhost cmake-3.0.2]#./configure
[root@localhost cmake-3.0.2]# make && make install
安装boost类库
[root@localhost ~]# cd /data/software
[root@ localhost software]# tar zxvf boost_1_59_0.tar.gz
[root@localhost software]# cd boost_1_59_0
[root@localhost boost_1_59_0]# ./bootstrap.sh[root@localhost boost_1_59_0]# ./b2 install
(该步骤大概需要20分钟)(此处注意的是boost必须用的是1.59版本的压缩包)
安装mysql-5.7.12,将mysql-5.7.12.tar.gz文件放到/data/program目录下
[root@iZ23f9zon64Z cmake-3.0.2]# cd /data/software
[root@iZ23f9zon64Z program]# tar zxvf mysql-5.7.12.tar.gz
[root@iZ23f9zon64Z program]# cd mysql-5.7.12- 编译mysql-5.7.12
编译安装
[root@localhost mysql-5.7.12]# cmake -DCMAKE_INSTALL_PREFIX=/data/program/mysql \
-DMYSQL_UNIX_ADDR=/data/program/mysql/tmp/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_INFILE=1 \
-DMYSQL_DATADIR=/data/program/mysql/data \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/data/software \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
上面的命令一次拷进命令行。
[root@iZ23be2zwcqZ mysql-5.7.12]# make&& make install
整个过程需要30分钟左右……漫长的等待
编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html。
8. 配置环境变量
为了方便,将mysql的bin目录加到PATH中,在/etc/profile中加入myslq/bin,顺便增加两个别名方便操作:
[root@localhost bin]# vi /etc/profile
export PATH=/data/program/mysql/bin:$PATH
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
# . /etc/profile
- 初始化数据库
[root@localhost bin]# cd /data/program/mysql/bin
[root@localhost bin]# mkdir /data/program/mysql/test #存放默认密码路径
[root@localhost bin]# mysqld –user=mysql –basedir=/data/program/mysql –datadir=/data/program/mysql/data –secure-file-priv=/data/program/mysql/test/ –initialize
注意:需要先确保 datadir 目标目录下是空的,避免误操作破坏已有数据。如果想强制初始化,那么直接删除data目录就可以了
设置mysqld的开机启动:
[root@localhost mysql-5.7.12]# cd /data/software/mysql-5.7.12
[root@mysql-5.7.12]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql-5.7.12]#chmod 755 /etc/init.d/mysql
[root@localhost mysql-5.7.12]# chkconfig mysql on启动mysql服务
[root@localhost mysql-5.7.12]# service mysql start
Starting MySQL. SUCCESS!
注意:若发生如下图所示错误
解决方法:将/etc/my.cnf文件删除,重启mysql服务;若还是不行,则重新从第9步初始化数据库再次执行,同时也要将/data/program/mysql/data目录下所有的文件清除
12. 重置root帐户的密码
[root@localhost mysql-5.7.12]# mysql -u root –p
(将刚才随机生成的密码输入)
mysql> SET PASSWORD = PASSWORD(‘123456’);
mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
将用户root登陆的密码设为123456
mysql> exit
用新密码重新登陆即可,整个安装过程完毕
13. 开启外部访问的3306端口
[root@localhost mysql-5.7.12]# sudo firewall-cmd –zone=public –add-port=3306/tcp –permanent
[root@localhost ~]# sudo firewall-cmd –reload
(永久打开3306端口)