您的位置:首页 > 运维架构 > Linux

CentOS7 源码安装MySQL5.7

2016-07-18 12:15 591 查看
安装编译代码需要的包

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端口)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: