zoukankan      html  css  js  c++  java
  • 源码编译mysql 5.5.40

    [root@localhost cmake-3.1.0]#  yum install zlib-devel openssl-devel gcc-c++ gcc bison cmake ncurses-devel -y

    [root@localhost ~]# groupadd -r mysql
    [root@localhost ~]# useradd -g mysql -r -s /sbin/nologin mysql
    [root@localhost ~]# id mysql #确认用户
    [root@localhost ~]# mkdir /var/data/mysql -p #存放数据库文件
    [root@localhost ~]# chown mysql:mysql /var/data –R

    [root@localhost MailServer]# tar zxvf  mysql-5.5.40.tar.gz -C ../
    [root@localhost MailServer]# cd ../mysql-5.5.40/

    cmake编译MySQL的一些常用选项:

    ------------------------------------------------------------
    cmake mysql 编译安装:
    ./configure -> cmake .
    ./configure --help -> cmake -LH -> ccmake .
    ------------------------------------------------------------
    指定安装文件的安装路径常用选项
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
    -DMYSQL_DATADIR=/data/mysql
    -DSYSCONFDIR=/etc
    ------------------------------------------------------------
    默认编译的存储引擎包括: csv, myisma, myisammrg, heap. 若要安装其他存储引擎,可以使用类似如下的编译选项
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_ARCHIVE_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    ------------------------------------------------------------
    若要明确指出不编译某存储引擎, 可以使用类似如下的选项:
    -DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
    例如:
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
    -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
    ------------------------------------------------------------
    若要编译进其他功能, 如SSl等, 可使用类似如下选项来实现编译时使用某库文件或者, 或者不使用某库文件.
    -DWITH_READLINE=1
    -DWITH_SSL=system
    -DWITH_ZLIB=system
    -DWITH_LIBWRAP=0
    ------------------------------------------------------------
    其他常用选项:
    -DMYSQL_TCP_PORT=3306
    -MYDQL_UNIX_ADDR=/tmp/mysql.sock
    -DENABLED_LOCAL_INFILE=1
    -DEXTRA_CHARSETS=all
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci
    -DWITH_DEBUG=0
    -DENABLE_PROFILING=1
    ------------------------------------------------------------

    开始编译

    [root@localhost mysql-5.5.40]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.40 
    -DMYSQL_DATADIR=/var/data/mysql  #数据库目录
    -DSYSCONFDIR=/etc  #配置文件目录
    -DWITH_INNOBASE_STORAGE_ENGINE=1  #启用InnoDB存储引擎
    -DWITH_ARCHIVE_STORAGE_ENGINE=1  #启用ARCHIVE存储引擎
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1  #启用黑洞存储引擎
    -DWITH_READLINE=1 
    -DWITH_SSL=system  #启用SSL协议
    -DWITH_ZLIB=system  #启用Zlib压缩
    -DWITH_LIBWRAP=0 
    -DDEFAULT_CHARSET=utf8  #设置字符集utf8
    -DMYSQL_NUIX_ADDR=/tmp/mysql.sock 
    -DDEFAULT_COLLATION=utf8_general_ci

    make

    make install

    如出现错误,原因是未安装数据库

    141223 21:05:40 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
    
    141223 21:05:40 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended
    141223 21:05:45 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
    ^G/usr/local/mysql/bin/mysqld: File './mysql-bin.index' not found (Errcode: 13)
    141223 21:05:46 [ERROR] Aborting

    编译完成后,安装数据库

    # cd /usr/local/mysql    
    # chown -R mysql .    
    # chgrp -R mysql .    
    # scripts/mysql_install_db --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  
    # chown -R root .   
    # chown -R mysql ./data

    错误日志显示:Can't open the mysql.plugin table...2009-06-01 00:52Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

    解决方法:重新执行数据库安装过程,并带上

    --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    将mysql的配置文件拷贝到/etc

    cp support-files/my-medium.cnf /etc/my.cnf

    拷贝服务,设置开机启动,启动MySQL

    #cp support-files/mysql.server /etc/init.d/mysql
    #chkconfig mysql on
    #service mysql start  --启动MySQL

    查看MySQL启动状态

    # service mysqld status
    MySQL running (62374)                                      [  OK  ]
  • 相关阅读:
    设计模式-策略模式
    设计模式-建造者模式
    js助手函数
    Javascript使用函数做命名空间
    腾讯云scf云函数,python依赖安装与上传的正确姿势
    nodejs爬虫,服务器经常返回ECONNRESET或者socket hang up错误的解决方法
    http请求,服务器回复内容为乱码的一种可能解决方法
    js在动态定义的新对象中,属性为变量时,如何动态定义
    nodejs中使用request时出现unable to verify the first certificate的一种解决办法
    Ubuntu偶然出现在待机解锁时,密码输入肯定正确但却无法进入的一种可能性
  • 原文地址:https://www.cnblogs.com/xfan1982/p/4182206.html
Copyright © 2011-2022 走看看