linux mysql 5.7源码编译安装

之前在网上看到的mysql5.7的源码安装, 中间出现了不少的错误,在这里重新纠正一下,亲测可用 其实最重要的是在make的时候。。

 

1、下载源码

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

在以下地地址下载源码

在Select Operating System: 选项选择 source code

在Select OS Version: 选项选择generic linux

或者直接在linux 系统

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz

下载下来的文件名称是 mysql-boost-5.7.23.tar.gz

ps 该文件已经含有了boost文件

2、修改主机名,关闭防火墙及selinux

修改主机名:我用的是contos 6 所以直接修改vi /etc/sysconfig/network  ,修改如下


 
  1. NETWORKING=yes

  2. HOSTNAME=testsql

关闭防火墙:

service iptables stop

设置开机不启动防火墙

chkconfig iptables off;

关闭selinux:

修改/etc/selinux/config 文件 把SELINUX 的值改为disabled


 
  1. [root@testsql ~]# cat /etc/selinux/config

  2.  
  3. # This file controls the state of SELinux on the system.

  4. # SELINUX= can take one of these three values:

  5. # enforcing - SELinux security policy is enforced.

  6. # permissive - SELinux prints warnings instead of enforcing.

  7. # disabled - No SELinux policy is loaded.

  8. SELINUX=disabled

  9. # SELINUXTYPE= can take one of these two values:

  10. # targeted - Targeted processes are protected,

  11. # mls - Multi Level Security protection.

  12. SELINUXTYPE=targeted

  13.  

3、做完以上步骤之后,重启操作系统 reboot;

4、安装cmake

这里用一种比较简单的方法来安装cmake

yum -y install wget gcc-c++ ncurses-devel cmake make perl

5、创建用户、目录、添加环境变量及修改hosts

创建用户:

groupadd mysql

useradd -g mysql  mysql -s /sbin/nologin (不允许操作系统以mysql用户登陆)

创建目录:

mkdir -p /application/mysql5.7.23
ln -s  /application/mysql /application/mysql5.7.23

mkdir -p /data/mysql
mkdir -p /data/mysql/data
mkdir -p /data/mysql/logs
mkdir -p /data/mysql/temp

chow -R mysql:mysql /data

编辑PATH搜索路径:

修改/etc/profile 往里面加入


 
  1. PATH=/application/mysql/bin:/application/mysql/lib:$PATH

  2. export PATH

source /etc/profile

修改 /etc/hosts:

往里面加入 主机IP 域名


 
  1. [root@testsql ~]# cat /etc/hosts

  2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

  4.  
  5. 192.168.115.132 testmysql

  6. [root@testsql ~]#

一般如果没有特别要求最好就是域名与主机名一样,之前安装用ambari安装hadoop 的时候就是因为域名与主机名不一样报错,所以 以后一般安装软件的时候,最好就设置 这两个值一样

6、上传安装包,并且解压安装包

上传下载的源码到/temp目录,并且 解压文件

tar -zxvf mysql-boost-5.7.23.tar.gz

进入mysql5.7.23里面

7、配置并且安装


 
  1. cmake \

  2. -DCMAKE_INSTALL_PREFIX=/application/mysql \

  3. -DMYSQL_UNIX_ADDR=/application/mysql.sock \

  4. -DDEFAULT_CHARSET=utf8 \

  5. -DDEFAULT_COLLATION=utf8_general_ci \

  6. -DWITH_MYISAM_STORAGE_ENGINE=1 \

  7. -DWITH_INNOBASE_STORAGE_ENGINE=1 \

  8. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

  9. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

  10. -DWITH_MEMORY_STORAGE_ENGINE=1 \

  11. -DWITH_READLINE=1 \

  12. -DENABLED_LOCAL_INFILE=1 \

  13. -DMYSQL_DATADIR=/home/mysql/data \

  14. -DMYSQL_USER=mysql \

  15. -DMYSQL_TCP_PORT=3306 \

  16. -DENABLE_DOWNLOADS=1 \

  17. -DWITH_BOOST=boost/boost_1_59_0/

cmake 执行完成之后

 执行 make 命令

在这里是重点。有的系统的内在不在1G之上, 但是mysql5.7的要求是在1G以上的内在才行。所有要临时提升一下内存空间。。

如果出现 c++: internal compiler error: Killed (program cc1plus) 

运行如下命令。临时提升一下内存空间。再次Make

$dd if=/dev/zero of=/data/swap_add bs=1M count=2048

$mkswap /data/swap_add

$swapon /data/swap_add $swapon -s

执行make 之后

echo $?

确认一下有没有 错

ps linux 每执行一个命令都会返回一个命令值 ,如果该值为0则表示命令执行成功。

make install

执行以上命令,如果没有 错则表示安装成功 ,如果有错需要重新编译的话可以执行

make clean

rm -rf CMakeCache.txt

8、初始化数据库


 
  1. cd /application/myql

  2.  
  3. ./bin/mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

编译完成之后显示有root用户的默认账号密码,该密码是用来初次登陆数据库

9、修改配置文件

cp /application/mysql/support-files/my-default.cnf  /etc/my.cnf

vi /etc/my.cnf


 
  1. basedir =/application/mysql

  2. datadir =/data/mysql/data

  3. port = 3306

  4. socket = /data/mysql/temp/mysql.sock

  5. user=mysql

  6. # Disabling symbolic-links is recommended to prevent assorted security risks

  7. symbolic-links=0

  8.  
  9. [mysqld_safe]

  10. log-error=/var/log/mysqld.log

  11. pid-file=/var/run/mysqld/mysqld.pid

  12.  
  13. [client]

  14. socket = /data/mysql/temp/mysql.sock

 

10、配置 使用dervice启动关闭数据库


 
  1. cp /application/mysql/support-files/mysql.server /etc/init.d/mysql

  2. chkconfig mysql on

启动关闭数据库

 

11.在我们启动数据库的时候可能会报错

大概意思是sock文件不存在 , 这个时候 service mysql restart 重启能解决问题。但是在重启的时候又出现一个问题,大概意思是pid文件不存在 。如果是按照上面的配置来的话。 就仔细对照一下配置文件是否和上面的一致。  

12.在成功进入数据库的时候可能也会报错, 大概意思是说在有动作之前必须重置密码

输入set password = password('123123')  query Ok 说明成功。 到这里基本没有什么问题

就是在make的时候可能会消耗很长的时候,大家耐心等待。。 如果有什么问题可以联系QQ 979928978
 


 
  1. service mysql start

  2. service mysql stop

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章