• Linux(CentOS) 安装MySQL 5.7


    #MySQL简介

    (1)MySQL行业主流版本

       - 5.6

       - 5.7

    (2)企业版本选择

      - Oracle:   MySQL官方版本

      - RedHat:  MariaDB

      - Percona: PerconaDB

    (3)版本选择

      - 一般选择 5.6 或 5.7

      - GA

      - 6-12月的产品版本

    #下载MySQL

      - From官网: https://dev.mysql.com/downloads/

      - 本文选择: https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

    #MySQL 安装

      - OS版本

    [root@CentOS-Docker ~]# uname -a
    Linux CentOS-Docker 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
    

      - 卸载已有的数据库(如果有,避免相互影响)

    yum remove mariadb-libs-5.5.60-1.el7_5.x86_64
    

       - 安装必要的软件包

    yum install -y libaio-devel ncurses-devel
    

      - 创建安装目录

    mkdir -p /app/
    

       - 解压&重命名

    tar xf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
    mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql

       - 修改环境变量

    vim /etc/profile 
    #末尾添加
    export PATH=/app/mysql/bin:$PATH
    
    #生效
    source /etc/profile
    

      - 新增mysql用户

    useradd mysql
    

       - 创建相关目录并修改权限

     mkdir /data/mysql -p 
     chown -R mysql:mysql /app/*
     chown -R mysql:mysql /data/*
    

       - 初始化数据库

    #清空/data/mysql中的数据,有数据会报错
    rm -rf /data/mysql/*
    #初始化数据和管理员的临时密码
    mysqld --initialize  --user=mysql --basedir=/app/mysql --datadir=/data/mysql
    #没有[ERROR]就说明成功了
    #5.7新特性重要说明:
    #从5.7开始,MySQL加入了全新的 密码的安全机制:
    #1.初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)
    #2.密码复杂度:字符混乱组合
    #3.密码过期时间180天
    #初始化数据,初始化管理员的密码为空
    mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/mysql

        - 编辑配置文件

    vim /etc/my.cnf
    [mysqld]
    user=mysql
    basedir=/app/mysql
    datadir=/data/mysql
    server_id=6
    port=3306
    socket=/tmp/mysql.sock
    [mysql]
    socket=/tmp/mysql.sock
    prompt=3306 [\d]>
    

       - 启动MySQL

     cd /app/mysql/support-files
     ./mysql.server start
    

       - 使用systemd管理mysql

    vim /etc/systemd/system/mysqld.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
    ExecStart=/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    #systemctl start/stop/restart/status mysqld
    

       - 管理密码

    mysqladmin -uroot -p password 123
    

       - 查询

    select user,authentication_string,host from mysql.user;
    

     #补充

      - 5.6 vs 5.7

    #初始化的区别
    #5.6
    mysql_install_db  --user=mysql --datadir=/application/mysql/data --basedir=/application/mysql
    #5.7
    mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/data/mysql
    #密码策略
    #密码字段
    authentication_strings
    
  • 相关阅读:
    failed: unacceptable content-type: text/html
    iOS button点击更换图片
    支付宝ios SDK官方下载页面
    xcode6 中使用OC代码时,在NSObject的子类中报错
    CocoaPods安装和使用教程
    Mac 下安装Ruby环境
    iOS .a与.framewofk
    Couldn't find preset "es2015" relative to directory问题解决
    yarn依赖管理工具的使用
    java.io.IOException: Could not delete path 'D:mycode eactnativeSecondTestandroidappuildgeneratedsource eleaseandroidsupportv7
  • 原文地址:https://www.cnblogs.com/crossworld/p/11518702.html
Copyright © 2020-2023  润新知