CentOS7 源码安装MySQL5.7

  1. 安装编译代码需要的包
    yum -y install make git gcc-c++ bison-devel ncurses-devel perl per-devel ncurses-devel

  2. 创建数据存放目录
    [root@MGM1 ~]# mkdir -p /data/program/mysql/{data,tmp}

  3. 创建用户和用户组与赋予数据存放目录权限
     [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
  4. 安装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

  1. 安装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版本的压缩包)

  2. 安装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

  3. 编译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

  1. 初始化数据库
    [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目录就可以了

  1. 设置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

  2. 启动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端口)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值