zoukankan      html  css  js  c++  java
  • 二进制安装MySQL-5.7.28

    系统基础优化

    #更改主机名
    hostname msyql
    echo "msyql" >/etc/hostname
    #修改字符集
    echo "LANG="zh_CN.UTF-8"" >/etc/locale.conf 
    source /etc/locale.conf 
    #关闭防火墙
    systemctl stop firewalld.service
    systemctl disable firewalld.service 
    firewall-cmd --state
    #关闭selinux
    sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
    setenforce 0
    #添加时间同步
    echo '#time sync by fage at 2018.10.28' >>/var/spool/cron/root
    echo '*/5 * * * *  /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root
    #加大文件描述
    echo "*  soft  nofile  655360" >>/etc/security/limits.conf 
    echo "*  hard  nofile  655360" >>/etc/security/limits.conf 

    软件下载地址

    https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

    创建存放安装目录及程序依赖用户下载软件包

    mkdir -p /application/tools
    cd /application/tools
    useradd -u1010 -s /sbin/nologin -M mysql && id mysql
    wget -q https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
    

    去除CentOS 7 自带的数据库

    rpm -qa | grep mariadb
    rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
    

    解压并移动到指定目录

    tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /application/
    mv /application/mysql-5.7.28-linux-glibc2.12-x86_64 /application/mysql-5.7.28
    ln -sv /application/mysql-5.7.28/ /application/mysql
    

    创建日志和数据存放位置并授权用户

    mkdir -p /application/mysql/logs
    mkdir -p /application/mysql/data/
    chown -R mysql.mysql /application/mysql/
    

    初始化数据库,注意初始化的时候会产生数据库root密码:password is generated for root@localhost: y&plm*8fW;7. 具体看实际密码

    /application/mysql/bin/mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data/

    添加系统环境变量

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

    开启加密连接,开启ssl连接

    cd /application/mysql/bin/ && ./mysql_ssl_rsa_setup --datadir=/application/mysql/data/
    

    替换启动文件安装数据库的位置并复制到开机启动路径

    sed -i "s#/usr/local/#/application/#g" /application/mysql/support-files/mysql.server
    cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

    配置my.cnf文件参数,这个需要看生产环境具体去优化部分参数

    cat >/etc/my.cnf <<EOF
    [mysqld]
    user=mysql
    port=3306
    server_id=1
    log-bin=/application/mysql/data/mysql-bin
    character-set-server=utf8
    datadir=/application/mysql/data
    basedir=/application/mysql
    socket=/tmp/mysql.sock
    max_allowed_packet = 10M
    skip_symbolic_links=yes
    local-infile=0
    
    [mysqldump]
    quick
    max_allowed_packet = 16M
    
    [mysqld_safe]
    pid-file=/application/mysql/mysql.pid
    EOF
    

    启动和添加自启动使用systemd方式进行管理

    cat >/usr/lib/systemd/system/mysql.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
     
    [Install]
    WantedBy=multi-user.target
     
    [Service]
    User=mysql
    Group=mysql
    Type=forking
    TimeoutSec=0
    PermissionsStartOnly=true
    ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    Restart=on-failure
    RestartPreventExitStartus=1
    PrivateTmp=false
    EOF
    

    启动后进去修改密码

    mysql -uroot -pvVjs3qMu>KhT
    alter user 'root'@'localhost' identified by '123456';
    flush privileges;

    创建允许远程的用户和授权地址并设置密码

    grant all on *.* to root@'192.168.10.%' identified by '123456';
    flush privileges;
    
  • 相关阅读:
    jQuery ajax解析xml文件demo
    Jquery ajax传递xml方式在ie8下兼容问题
    Ajax 跨域请求
    【leetcode刷题笔记】Maximal Rectangle
    【leetcode刷题笔记】Substring with Concatenation of All Words
    【leetcode刷题笔记】Largest Rectangle in Histogram
    【leetcode刷题笔记】Decode Ways
    【leetcode刷题笔记】3Sum Closest
    【leetcode刷题笔记】3Sum
    【leetcode刷题笔记】Divide Two Integers
  • 原文地址:https://www.cnblogs.com/huanglingfa/p/13779875.html
Copyright © 2011-2022 走看看