LNMP安装教程:安装mysql


安装Mysql前需要安装cmake

1.安装cmake

  1. 下载cmake

     wget http://www.cmake.org/files/v3.2/cmake-3.2.3.tar.gz
    
  2. 解压安装

     tar -zxvf cmake-3.2.3.tar.gz
     cd cmake-3.2.3
     ./bootstrap
    

    如果报以下错误就需要装c++编译器(没有则跳过该安装命令)


    屏幕快照 2015-06-02 下午6.10.19.png
     yum install gcc-c++
    

    安装完c++编译器后重新执行./bootstrap命令。

    接着
    gmake
    gmake install

2.安装mysql

  1. 下载mysql

     wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz 
    
  2. 创建MySQL用户

     groupadd mysql
     useradd -M -s /sbin/nologin mysql # -M不创建home目录,-s指定shell为不登录
     gpasswd -a mysql mysql
    
  3. 解压编译安装

    • 解压

        tar -zxvf mysql-5.6.16.tar.gz 
      
    • 预编译

        cd mysql-5.6.16.tar.gz              #进入nginx目录
        cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
        -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
        -DDEFAULT_CHARSET=utf8 \
        -DDEFAULT_COLLATION=utf8_general_ci \
        -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
        -DWITH_MYISAM_STORAGE_ENGINE=1 \
        -DWITH_INNOBASE_STORAGE_ENGINE=1 \
        -DWITH_MEMORY_STORAGE_ENGINE=1 \
        -DWITH_DEBUG=0 \
        -DWITH_READLINE=1 \
        -DENABLED_LOCAL_INFILE=1 \
        -DMYSQL_DATADIR=/home/mysql/data \
        -DMYSQL_USER=mysql
      

      -DCMAKE_INSTALL_PREFIX= 安装根目录

      -DCMAKE_INSTALL_PREFIX= unix套接字目录

      -DDEFAULT_CHARSET= 默认字符集

      -DDEFAULT_COLLATION=默认编码

      -DWITH_EXTRA_CHARSETS= 额外的编码,请使用ALL来编译。

      -DWITH_MYISAM_STORAGE_ENGINE=1 编译myisam存储引擎,默认的存储引擎,不加也可以

      -DWITH_INNOBASE_STORAGE_ENGINE=1 支持InnoDB存储引擎,这个也是默认安装的

      -DWITH_READLINE=1 使用readline功能

      -DENABLED_LOCAL_INFILE=1 可以使用load data infile命令从本地导入文件

      -DMYSQL_DATADIR=数据库 数据目录

    • 编译

        make
      
    • 安装

        make install
      
    • 配置

      创建仓库目录以及设置权限

        mkdir /usr/local/mysql                 # 创建目录
        mkdir /usr/local/mysql/data         # 数据仓库目录
        chown -R mysql:mysql /usr/local/mysql 
      

      复制配置文件

        cp support-files/my-default.cnf /etc/my.cnf       #复制配置文件
        cp support-files/mysql.server /etc/init.d/mysqld  #复制启动脚本
        chmod +x /etc/init.d/mysqld                    #给启动脚本执行权限
      

      修改/etc/my.cnf文件

        datadir=/usr/local/mysql/data
        default-storage-engine=MyISAM
      
        log-error = /usr/local/mysql/mysql_error.log  
        pid-file = /usr/local/mysql/mysql.pid  
        user = mysql  
        tmpdir = /tmp  
      

      为了以后使用方便,可以为mysql的二进制可执行文件和动态链接库文件做一个软连接

        ln -s /usr/local/mysql/bin/* /usr/local/bin/     # 为可执行的二进制文件做软连接
        ln -s /usr/local/mysql/lib/mysql/lib* /usr/lib/     # 为动态链接库做一个软连接
      

      安装默认数据表

         /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
      
    • 启动

       service mysqld start        #启动mysql
       netstat -antlp ¦ grep 3306  #查看Mysql是都占用了TCP的3306端口
      
    • 附:遇到的问题

       [root@localhost etc]# mysql
        ERROR 2002 (HY000): Can't connect to local MySQL server through socket     '/tmp/mysql.sock' (2)
      

      这是由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错

      • 解决方法,创建软连接

          ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
        
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容