mysql 5.6编译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 5.6编译相关的知识,希望对你有一定的参考价值。

  看到大牛们的学习方法,今天献丑,因为一直关注运维。大家都说,LAMP.LNAMP环境可以学到很多东西。其实这是真的,httpd可以学会优化,负载,认知WEB环境的架构理念。

  通过别人的一些帖子。总结了下mysql的安装,整个过程的分享都是自己归档总结,希望在51CTO走出一个好的开始。


   大家都是知道MYSQL安装依赖的包ncurses gcc,还有所需要的编译工具,因为5.5以后的版本用cmake做为编译工具。

   首先说下很多人问为什么安装MYSQL 要创建MYSQL用户,这个嘛,就相当于一个凭证吧。还有个很多安全作用,比如黑客黑你,能得MYSQL,但是看不到root,这应该是最大的保障了。

   开始吧!

   yum install ncurses-devel gcc gcc-c++ cmake 

   mysql 自行下载

   

   groupadd mysql  创建mysql组

   useradd -g mysql mysql /sbin/nologin/ -M 创建mysql用户加入到组,不让他登录。

   验证:

      cat /etc/passwd

      cat /etc/group

   

   mkdir -p /usr/local/mysql5.6/mysql/data 创建库目录,安装目录,数据存放目录。

   chown -R mysql:mysql /usr/local/mysql5.6/mysql  赋权限之mysql data 

   chown -R mysql:mysql /usr/local/mysql/5.6/data  

   

   编译:

   


 cmake \

 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6 \       定义安装路径

 -DMYSQL_DATADIR=/usr/local/mysql5.6/data \        定义数据库路径

 -DMYSQL_UNIX_ADDR=/usr/local/mysql5.6/mysql.sock \   定义监听

 -DDEFAULT_CHARSET=utf8 \                  定义字符

 -DDEFAULT_COLLATION=utf8_general_ci \          校验字符

 -DWITH_INNOBASE_STORAGE_ENGINE=1 \            下面4个引擎安装,有数据库不同功能

 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \             

 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \           

 -DWITH_MEMORY_STORAGE_ENGINE=1 \

 -DMYSQL_USER=mysql \                     指定用户

 -DMYSQL_TCP_PORT=3306                    指定端口

 -DWITH_DEBUG=0 \                       关闭DEBUG

  


 make &&make install


 这个过程还是有点小漫长的,耐心等等~~~~~~~~~~~~~~~~~~~~~ 


 为mysql做个启动脚本包,其实就是CP,哈哈

 以我的路径为例:


 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

 chmod +x /etc/init.d/mysqld    给予执行权限

 chkconfig --level 35 mysqld on  开启启动列表 级别35

 

 下面初始化数据库:

/usr/loca/mysql/scripts/mysql_install_db --user=mysql \

 --basedir=/usr/local/mysql5.6/ --datadir=/usr/local.mysql5.6/data

 可以看到DATA目录下生成的文件


 拷贝mysql的配置文件到相应目录

 cp /usr/loca/mysql5.6/support-files/mysql-default-cnf /etc/init.d/my.cnf


 vim /etc/init.d/my.cnf


 port=3306

 basedir= /usr/local/mysql

 datadir= /usr/local/mysql/data

 socket= /usr/local/mysql/mysqld.sock


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

 pid-file=/usr/local/mysql/data/mysqlservera.pid

 

 修改参数为以上


 最后就是环境变量了

 echo "export PATH=/usr/loca/mysql5.6/bin:$PATH" >> /etc/export 

service mysqld restart

 查看监听

  netstat -tulnp |grep 3306 

 查看进程

 ps -ef |grep mysqld 

  结束 MYSQL 直接登录,上密码OK!

 

 

  


   

   


以上是关于mysql 5.6编译的主要内容,如果未能解决你的问题,请参考以下文章

mysql 5.6编译

源码编译安装MySQL-5.6/mysql-5.6.39------踩了无数坑,重装了十几次服务器才会的,不容易啊!

mysql 5.6单机单实例源码编译安装配置

CentOS 6.4 源码安装MySQL 5.6

高可用架构篇 MySQL源码编译安装(CentOS-6.6+MySQL-5.6)

CentOS 6.5系统安装编译安装MySQL 5.6详细过程