Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

【后端部署】安装mysql

检查工作1

  • 检查是否有系统自带的 mariadb rpm -qa | grep mariadb

  • 有的话需要按名字卸载,例如:

    yum erase -y mariadb-libs-5.5.60-1.el7_5.x86_64
    

检查工作2

  • 检查是否安装有旧版mysql rpm -qa|grep mysql

  • 查看运行状态 service mysqld status

  • 停止服务 service mysqld stop

  • 卸载旧版

    • 普通卸载
      rpm -ev [需要移除组件的名称]
      
    • 强制卸载
      rpm -e --nodeps [需要移除组件的名称]
      

安装工作

由于centos7默认安装是Mariadb数据库,因此要先获取rpm包再安装

  • 获取rpm包

    wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
    
  • 安装包

    rpm -ivh mysql80-community-release-el7-1.noarch.rpm
    
  • 正式安装

    yum install -y mysql-community-{server,client,common,libs}-*
    
  • 检查是否开机启动

    systemctl list-unit-files|grep mysqld
    
  • 设置为开机启动

    systemctl enable mysqld
    
  • 查看是否启动

    ps -ef|grep mysql
    
  • 手动启动

    systemctl start mysqld
    
  • 查看运行状态

    systemctl status mysqld
    
  • 初始化mysql

    mysqld --initialize
    
  • 查看默认初始密码

    grep 'temporary password' /var/log/mysqld.log
    
  • 更改密码

    • 用初始密码进入数据库
      mysql -u root -p
      
    • 先降低安全等级
      set global validate_password.policy=0;
      set global validate_paddword.length=1;
      
    • 再更改
      ALTER USER USER() IDENTIFIED BY '12345678';
      
  • (可选但不建议)开启远程连接

    use mysql;
    
    • 修改root账户的可访问主机的权限
      update user set host = '%' where user = 'root';
      
    • 刷新权限
      flush privileges;
      
  • 离开mysql

    \q
    
  • 密码方式重新进入

    mysql -u root -p
    
    • 参数 -u root 表示 用“root用户”进入
    • 参数 -p 表示 用“需要密码模式”进入
  • 对于mysql8来说,有个sql_mode的问题

    • 会导致group by错误
      this is incompatible with sql_mode=only_full_group_by
      
    • 需要在mysql >后面执行下面语句
      set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';