• CentOS6.2编译安装MySQL5.5.25


    之前虚拟机里装的系统都是ubuntu,后来同事说一般的服务器都是安装的centos,所以又重新倒腾了centos系统。

      当然,首先得搭建PHP环境。下载的源码mysql,版本是5.5.25,最新的好像是5.5.4。这里记住,一定要下载源码,在mysql官网下载时,会提示你选择平台,选择下拉菜单中的最底下一个Source Code。

      按照之前ubuntu安装的步骤安装后,启动mysql启动不起来。错误代码为“ The server quit without updating PID file(/var/lib/mysql/CentOS.pid)”,百度和google都搜索了一些资料,基本一致,对我没帮助,按照他们说的修改了也 不行。于是乎结合张晏的博客,最终成功搞定。

      第一步:我们首先安装依赖库和开发工具

    复制代码
    #依赖库和开发工具
    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
    
    #Nginx
    yum -y install pcre-devel  zlib-devel
    
    #Php
    yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel
     
    #Mysql
    yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* mysql-devel
    复制代码

      第二步:由于mysql5.5开始,不再使用configure安装,而是使用cmake。所以需要先安装cmake

    wget http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz
    tar -zxvf cmake-2.8.6.tar.gz
    cd cmake-2.8.6/
    ./configure
    make && make install

      第三步:cmake安装mysql(我已经下载好了mysql源码文件,放在U盘里,拷贝到/tmp目录下)

    复制代码
    //进入/tmp目录下
    tar -zxvf mysql-5.5.25.tar.gz
    cd mysql-5.5.25
    
    cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql \
    -DMYSQL_DATADIR=/user/local/webserver/mysql/data \
    -DSYSCONFDIR=/etc \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -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 \
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
    -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
    -DMYSQL_TCP_PORT=3306 \
    -DWITH_DEBUG=0 \
    -DENABLED_LOCAL_INFILE=1
    复制代码

    回车执行,执行完成后继续执行 make && make install

      第四步:设置mysql

    复制代码
    #设置Mysql
    #在support-files目录中有五个配置信息文件(这里很重要,一定要根据自己的内存复制对应的cnf文件,否则mysql始终起不来):
    #my-small.cnf (内存<=64M)
    #my-medium.cnf (内存 128M)
    #my-large.cnf (内存 512M)
    #my-huge.cnf (内存 1G-2G)
    #my-innodb-heavy-4G.cnf (内存 4GB)
    cd /usr/local/webserver/mysql
    cp ./support-files/my-huge.cnf /etc/my.cnf 
    vi /etc/my.cnf
    #在 [mysqld] 段增加
    datadir = /data/mysql
    wait-timeout = 30
    max_connections = 512
    default-storage-engine = MyISAM
    #在 [mysqld] 段修改
    max_allowed_packet = 16M 
    复制代码

      第五步:添加mysql用户和用户组,生成新的mysql授权表

    复制代码
    //添加mysql运行的用户和用户组
    groupadd mysql
    useradd -g mysql mysql -s /bin/false -d /home/mysql  //没有shell,不可本机登陆(安全起见)
    
    cd /usr/local/webserver/mysql
    chown -R root .
    chown -R mysql data
    chgrp -R mysql .
    
    //生成新的mysql授权表
    //进入mysql安装目录下的脚本目录
    cd /usr/local/webserver/mysql/scripts
    //利用mysql_install_db脚本生成新的mysql授权表
    ./mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data --user=mysql
    
    //mysql server在系统中的服务项设置
    //复制服务文件并修改
    cd /usr/local/webserver/mysql/support-files
    cp mysql.server mysqld
    //修改mysqld
    basedir=/usr/local/webserver/mysql
    datadir=/usr/local/webserver/mysql/data
    
    mv mysqld /etc/init.d/mysqld
    chmod 755 /etc/init.d/mysqld
    
    //设置软连接使mysql,  mysqldump,  mysqladmin这三个bin命令能在shell中直接运行
    sudo ln -s /usr/local/webserver/mysql/bin/mysql /usr/bin
    sudo ln -s /usr/local/webserver/mysql/bin/mysqldump /usr/bin
    sudo ln -s /usr/local/webserver/mysql/bin/mysqladmin /usr/bin
    
    rm -rf /etc/mysql/my.cnf 因为已经把此文件复制到/etc/my.cnf  如果不删除的话,mysql启动不起来。
    复制代码

      第六步:启动mysql,设置mysql用户名和密码

    复制代码
    /etc/init.d/mysqld start
    
    //设置root密码
    mysqladmin -u root password "admin"
    
    //mysql数据库中文乱码解决
    vi /etc/my.cnf
    //然后在[mysqld]配置选项下添加
    character-set-server=utf8
    
    
    //然后进入mysql
    cd /usr/local/webserver/mysql/bin
    mysql -u root -p
    提示输入密码
    mysql> show variables like '%character%';
    //结果:character_set_database,character_set_server两项都变为utf8了
    复制代码
  • 相关阅读:
    Java反射之访问私有属性或方法
    java字符串中显示双引号
    什么导致spring事务失效
    ActiveMq性能优化
    JFrame关闭事件处理
    c3p0数据库连接池死锁问题
    Mongodb性能优化
    Spring事务配置的五种方式
    ActiveMq启动停止
    JScrollPane动态加载图片
  • 原文地址:https://www.cnblogs.com/cnsanshao/p/2570004.html
Copyright © 2020-2023  润新知