坏气十足 发表于 2018-10-9 11:20:41

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!

页: [1]
查看完整版本: mysql 5.6编译