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.39------踩了无数坑,重装了十几次服务器才会的,不容易啊!