ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql5.6.17编译 安装

2021-04-09 23:57:01  阅读:255  来源: 互联网

标签:ENGINE 17 mysql5.6 STORAGE 编译 usr mysql var DWITH


       这两天在青岛,冬天的青岛有点冷,人比较少,所以适合拍照,拍了不少照片,也算给青岛之旅,画上了完美的句号。

  

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

言归正传,我们来看看mysql的rpm包安装,之后来看一下源码编译,包括SRPM源码包安装三种安装方式:

mysql 5.6.17  RPM的安装:
一、yum 安装mysql
       注:安装前最后先删除/etc/my.cnf文件
       yum localinstall  MySQL-*
       安装完毕后 它会在 ~/.mysql_secret的文件,该文件存储着第一次的随机密码。
       head -1 .mysql_secret| awk -F: '{print $NF}'
       当第一次登录时,需要使用密码。登录mysql之后必须修改密码才可以其它操作:
        set password=password("123");
       安装完毕后会在/usr/bin/产生一个mysql的安全机制文件:
       /usr/bin/mysql_secure_installation
       
二、源码包安装mysql 5.6.17


mysql5.6.17 的源码包安装:
   cmake .   默认源码包编译
   useradd -r -s /sbin/nologin mysql
   yum -y install gcc gcc-c++ cmake ncurses-devel
   cmake .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  
               -DDEFAULT_CHARSET=utf8
               -DENABLE_LOCAL_INFILE
       例:
       cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
               -DMYSQL_DATADIR=/var/lib/mysql
               -DSYSCONFDIR=/etc
               -DWITH_INNOBASE_STORAGE_ENGINE=1
           -DWITH_ARCHIVE_STORAGE_ENGINE=1
           -DWITH_BLACKHOLE_STORAGE_ENGINE=1
           -DWITH_FEDERATED_STORAGE_ENGINE=1
           -DWITH_PARTITION_STORAGE_ENGINE=1
           -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
           -DENABLED_LOCAL_INFILE=1
           -DEXTRA_CHARSETS=all
           -DMYSQL_USER=mysql  
       说明:
           DENABLE_LOCAL_INFILE   表示mysql可以读取外部文件
           DDEFAULT_CHARSET 指定字符集
           DEXTRA_CHARSETS=all 扩展字符集
           DMYSQL_UNIX_ADDR 指定socket文件的位置
           DWITH_INNOBASE_STORAGE_ENGINE 指定是否支持innodb存储引擎 (默认支持)
           DWITH_ARCHIVE_STORAGE_ENGINE 指定是否支持archive存储引擎(默认支持)
           DWITH_INNODB_MEMCACHED 指定是否支持memcached
           DWITH_BLACKHOLE_STORAGE_ENGINE指定是否支持blackhole存储引擎(默认支持)
           DWITH_FEDERATED_STORAGE_ENGINE指定是否支持federated存储引擎
           DWITH_PARTITION_STORAGE_ENGINE指定是否支持数据库分区功能    
           DWITH_PERFSCHEMA_STORAGE_ENGINE指定是否支持perfschema存储引擎(默认支持)
   gmake
   make install
   
   cd /usr/local/mysql/
   cp support-file/mysql.server /etc/init.d/mysql    #mysql服务启动脚本
   cp support-file/my-default.cnf /etc/my.cnf        #mysql的配置文件  
   vim /etc/my.cnf
       basedir = /usr/local/mysql
       datadir = /var/lib/mysql    # 如果安装时未指定,它默认在/usr/local/mysql/data目录中。
       port = 3306
       socket = /tmp/mysqld.sock

   mkdir /var/lib/mysql
   chown mysql. /var/lib/mysql

   cd /usr/local/mysql/scripts/
   ./mysql_install_db  --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql --no-defaults    #安装默认的mysql系统库

   ls /var/lib/mysql/
   service mysql start

测试登录
   vim ~/.bash_profile
        PATH=  :/usr/local/mysql/bin
   source ~/.bash_profile
   当然可以设置 /etc/bashrc,添加 PATH=$PATH:/usr/local/mysql/bin,这样针对所有用户生效。    
   如果使用install文件中的shell代码安装,安装完毕后需要重新安装系统数据库。
   
三、mysql5.6.17 的SRPM源码包安装
   # yum -y remove mysql mysql-server cmake
   # rm -rf /etc/my.cnf
   # yum -y groupinstall "Development tools"
   创建普通用户
   cp mysql*.src.rpm /home/普通用户/
   chown 普通用户 mysql*.src.rpm
   yum -y install rpm-build gcc gcc-c++ cmake ncurses ncurses-devel zlib-devel
   yum -y install libaio-devel
   su - 普通用户

   rpmbuild ~    #生成环境目录
   rpm -ivh mysql*.src.rpm
   cd rpmbuild/SPEC/
   它会依赖:gperf-3.0.3-9.1.el6.x86_64.rpm和libaio-devel
   rpmbuild -bb mysql.spec

最后上一张照片,希望大家在新的一年里,可以如海鸥一样,在自己的蓝天自由的翱翔。

照片之后是拍错指南,在你把上面的实验亲自做过之后在看哦。

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

================================================
排错:以下现象
[root@node3 lib]# service mysql start
Starting MySQL...The server quit without updating PID file (/var/lib/mysql/node3.domain40.example.com.pid).         [失败]
解决方法,开启/etc/my.cnf中相关行:
[mysqld_safe]
log-error=/var/log/mysql.log
pid-file=/var/run/mysql/mysqld.pid
如果现象依然存在,可以手工创建: mkdir -p /var/run/mysql && chown mysql.mysql  /var/run/mysql  
如果故障仍旧,请确认selinux处于关闭状态。

如果故障仍然存在: tail -2  /var/log/mysql.log 文件,再现以下行
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
表示 : 未找到mysql 的privileges tables ,使用 ls /var/lib/mysql/mysql/   查看该目录下没有任何内容。
解决办法: ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql   重新初始化系统库
使用 ls /var/lib/mysql/mysql  查看该目录下已经有了mysql系统库文件
service mysql start   问题解决

标签:ENGINE,17,mysql5.6,STORAGE,编译,usr,mysql,var,DWITH
来源: https://blog.51cto.com/xinsz08/2695708

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有