您的位置:首页 > 运维架构 > Linux

MySQL5.7在centos7的安装步骤

2018-12-17 10:32 295 查看

MySQL5.7在centos7的安装步骤

  • 2、I/O调度模式更改为deadline
  • 3、设置swap分区大小
  • 4、文件系统选择
  • 5、操作系统限制
  • 6、关闭numa
  • 二、安装MySQL
  • 一、安装前的环境监测

    1、关闭防火墙和selinux

    关闭防火墙

    systemctl stop firewalld.service 停止防火墙
    systemctl disable firewalld.service 禁止开机启动

    关闭selinux

    cat /etc/sysconfig/selinux
    ...
    SELINUX=disabled
    ...

    2、I/O调度模式更改为deadline

    cat /sys/block/sda/queue/scheduler
    ...
    elevator=deadline
    ...

    3、设置swap分区大小

    cat /etc/sysctl.conf
    ...
    vm.swappiness=0
    ...
    #可以通过 sysctl  -a 查看

    PS :swappiness值在0-100之间,0尽力使用物理内存,100尽力使用swap分区。

    4、文件系统选择

    文件系统最好选择xfs,他比ext4更方便管理。

    5、操作系统限制

    cat /etc/security/limits.conf
    ...
    * soft nproc 65536
    
    * hard nproc 65536
    
    * soft nofile 65536
    
    * hard nofile 65536
    ...

    6、关闭numa

    关闭numa方法有三种:

    BIOS:interleave = Disable / Enable
    
    Kernel:vim /etc/grub2.cfg 在linux16一行结尾加上numa=off
    
    msyql :在mysql启动时指定关闭 muma --interleave=all /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

    二、安装MySQL

    1、创建MySQL用户组和用户

    groupadd mysql
    useradd -g mysql mysql -s /sbin/nologin
    #查看是否存在mysql用户
    id mysql

    2、创建相关目录

    #软件、数据、配置文件目录
    mkdir -p /usr/local/mysql/{program,data,conf}
    #创建数据目录
    mkdir -p
    /usr/local/mysql/data/{data,sock,tmpdir,log,ib,redo,undo,slowlog,binlog,relaylog}

    3、解压安装包并设置权限

    tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz -C /usr/local/mysql/program/
    chown mysql:mysql /usr/local/mysql -R

    4、软链接程序目录并配置环境变量

    ln -s /usr/local/program/mysql-5.7.22-el7-x86_64 /usr/local/mysql/program/mysql
    export PATH=$PATH:/usr/local/mysql/program/mysql/bin/
    echo 'export PATH=$PATH:/usr/local/mysql/program/mysql/bin/' >> /etc/profile
    # 查看环境变量配置是否成功添加到/etc/profile文件中
    tail -1 /etc/profile
    export PATH=$PATH:/usr/local/mysql/program/mysql/bin/

    5、更改配置文件

    #根据实际情况配置
    vim /etc/my.cnf
    [client]
    socket=/usr/local/mysql/data/sock/mysql.sock #sock文件所在路径
    [mysqld]
    user=mysql
    server-id=330601
    basedir=/usr/local/mysql/program/mysql
    socket=/usr/local/mysql/data/sock/mysql.sock #sock文件所在路径
    pid-file=/usr/local/mysql/data/sock/mysql.pid # pid文件所在路径
    datadir=/usr/local/mysql/data/data # 数据文件路径
    tmpdir=/usr/local/mysql/data/tmpdir #存放临时文件的路径
    log-error=/usr/local/mysql/data/log/error.log
    slow_query_log=1
    log_queries_not_using_indexes=1
    slow_query_log_file=/usr/local/mysql/data/slowlog/slow-query.log
    log-bin=/usr/local/mysql/data/binlog/mysql-bin
    relay-log=/usr/local/mysql/data/relaylog/mysql-relay-bin
    innodb_data_home_dir=/usr/local/mysql/data/ib
    innodb_log_group_home_dir=/usr/local/mysql/data/redo
    innodb_undo_directory=/usr/local/mysql/data/undo/
    innodb_undo_tablespaces=3
    character_set_server=utf8mb4
    transaction_isolation=READ-COMMITTED
    gtid_mode=on
    enforce_gtid_consistency=1
    binlog_format=row

    6、初始化数据库

    mysqld --defaults-file=/etc/my.cnf --initialize-insecure &
    
    --initialize:该选项初始化时会在错误日志中写一个随机root密码,初始化完成之后在错误日志中搜索password,紧跟其后的一串字符串就是这个随机密码,在初始化完成并启动mysqld之后,初次登录需要使用这个随机密码才能够登录。
    
    --initialize-insecure:该选项初始化时不会产生随机密码,而是像5.7版本之前一样初始化完成之后第一次登录数据库使用空的root密码

    7、启动数据库服务

    mysqld_safe --defaults-file=/etc/my.cnf &
    #扫描配置文件的顺序,也可以人为指定其他位置
    /etc/my.cnf>/etc/mysql/my.cnf>$mysql_home/my.cnf>~/.my.cnf
    #查看是否启动成功,若失败,则去错误日志查看原因
    ps -ef | grep mysql
    netstat -anultp | grep 端口号

    8、进入数据库并加固

    #将数据库用户目录下的.mysql_history(会记录数据库的一些显式操作)软链接到/dev/null
    在5.6版本还要删除一些非root或非localhost的用户,以及相关库表权限的清理。
    ln -s /dev/null  ~/.mysql_history
    #进入数据库
    mysql -uroot -p
    #查看数据库
    show databases;

    新人,勿喷,请多指教…
    版权声明:秉承开源精神,博主博文可以随机转载,但请注明出处!https://blog.csdn.net/qq_42979842/article/details/84675836

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: