美文网首页
CentOS6源码安装Mysql5.6.38

CentOS6源码安装Mysql5.6.38

作者: 平静_b99e | 来源:发表于2019-10-25 15:30 被阅读0次

    一、 准备工作

    1. 配置网络&关闭SELINUX

    配置网络&关闭SELINUX

    2. 升级软件

    yum -y update
    

    3. 安装依赖

    yum -y install wget gcc gcc-c++ make cmake  bison bison-devel ncurses ncurses-devel perl
    

    4. 下载MySQL源码

    cd /usr/local/src && wget https://downloads.mysql.com/archives/get/file/mysql-5.6.38.tar.gz && tar zxvf mysql-5.6.38.tar.gz && cd mysql-5.6.38
    

    5. 创建mysql用户

    groupadd mysql && useradd -g mysql -s /bin/false mysql
    

    6. 创建MySQL数据目录,并设置权限

    mkdir -p /data/mysql && chown -R mysql.mysql /data/mysql
    

    7. 删除系统默认的配置文件

    rm -rf /etc/my.cnf
    或者
    mv /etc/my.cnf /etc/my.cnf.bak
    

    二、安装篇

    1. 生成编译配置

    cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/data/mysql \
    -DSYSCONFDIR=/etc \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_MEMORY_STORAGE_ENGINE=1 \
    -DWITH_READLINE=1 \
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
    -DMYSQL_TCP_PORT=3306 \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci
    

    2. 编译&安装

    make && make install
    

    3. 软连接MySQL配置文件到/etc目录

    # ln -s /usr/local/mysql/my.cnf /etc/my.cnf
    vim /etc/my.cnf
    
        [mysqld]
        user=mysql
        port = 3306
        basedir = /usr/local/mysql
        datadir =/data/mysql
        log_bin=/data/mysql/log/mysql-bin
        log-error=/data/mysql/log/error.log
        pid-file=/usr/local/mysql/mysqld.pid
        socket=/usr/local/mysql/mysql.sock
        lower_case_table_names=1
        character-set-client-handshake = FALSE
        character-set-server = utf8
        collation-server = utf8_general_ci
        init_connect = 'SET NAMES utf8'
        sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
        [mysql]
        default-character-set=utf8
        [client]
        default-character-set=utf8
    

    4. 初始化数据目录

    /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
    

    5. 拷贝MySQL控制脚本,将mysql加入开机启动

    cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
    chmod 755 /etc/init.d/mysqld
    chkconfig mysqld on
    service mysqld start
    

    6. 把mysql服务加入系统环境变量

    echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
    source /etc/profile
    

    三、优化篇

    1. 使用mysql_secure_installation提高MySQL安全性

    mysql_secure_installation
    
    • 为root帐户设置密码。
    • 删除匿名用户帐户。
    • 不允许远程root登录。
    • 删除test数据库。
    • 重新加载权限表。

    2. 设置root账户远程访问密码

    shell> mysql -uroot -p
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    mysql> exit;
    

    四、安装过程所遇问题及解决办法

    1. FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db

    # 执行如下命令时
    /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
    # 报错如下:
    FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
    Data::Dumper
    
    • 解决办法
    # 执行命令
    yum -y install autoconf
    

    2. tarting MySQL..191025 15:06:57 mysqld_safe error: log-error set to '/data/mysql/log/error.log', however file don't exists. Create writable for user 'mysql'.

    ERROR! The server quit without updating PID file (/usr/local/mysql/mysqld.pid)

    • 解决办法
    # 手动创建日志文件:
    touch /data/mysql/log/error.log
    chown mysql:mysql /data/mysql/log/error.log
    

    相关文章

      网友评论

          本文标题:CentOS6源码安装Mysql5.6.38

          本文链接:https://www.haomeiwen.com/subject/dqysvctx.html