CentOS 7.2安装MySQL5.7

658 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

背景:最近买了个阿里云服务器,选择的操作系统是CentOS 7.2,安装mysql时的操作记录如下:

  1. 下载mysql安装包

    wget <http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm>

  2. 安装mysql源

    yum localinstall mysql57-community-release-el7-8.noarch.rpm

    • 监测mysql源是否安装成功

      yum repolist enabled | grep "mysql.*-community.*"

      如果成功,会出现以下内容:

      mysql-connectors-community/x86_64 MySQL Connectors Community                 230
      mysql-tools-community/x86_64      MySQL Tools Community                      138
      mysql57-community/x86_64          MySQL 5.7 Community Server                 564
      
  3. 安装mysql

    yum install -y mysql-community-server

    这里可能会报错:mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm 的公钥尚未安装

    解决办法:

    1. 在官网下载校验文件

    2. 跳过校验,加参数:-nogpgcheck

      yum install -y mysql-community-server --nogpgcheck

  4. 启动mysql

    systemctl start mysqld

    这个命令执行后没有任何输出,要查看mysql状态,执行命令:systemctl status mysqld,输出:

    ● mysqld.service - MySQL Server
       Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
       Active: active (running) since 一 2022-02-07 19:30:44 CST; 14s ago
         Docs: man:mysqld(8)
               <http://dev.mysql.com/doc/refman/en/using-systemd.html>
      Process: 663 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
      Process: 613 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
     Main PID: 666 (mysqld)
       CGroup: /system.slice/mysqld.service
               └─666 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
    
  5. 设置开机启动:

    systemctl enable mysqld

    systemctl daemon-reload

  6. 登录

    1. mysql安装后有一个默认密码,通过命令找到默认密码:grep 'temporary password' /var/log/mysqld.log

      输出:2022-02-07T11:30:41.938439Z 1 [Note] A temporary password is generated for root@localhost: ANK2ta&=v!ts

    2. 登录:mysql -uroot -p,输入密码ANK2ta&=v!ts,输入时密码不可见。

      也可以直接通过命令输入密码,但这样密码是明文的:mysql -uroot -pANK2ta&=v!ts

    3. 修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';

    4. 可以修改密码策略:

      1. vi /etc/my.cnf,输入validate_password_policy=0,这里有0、1、2三种策略,0表示最低级别的校验,只会校验密码长度。
      2. 如果不需要任何校验策略,输入validate_password=off
      3. 这里可以顺便增加一个配置项:lower_case_table_names=1,表示是否区分大小写,0表示区分,1表示不区分。
    5. 重启mysql,使配置生效:systemctl restart mysqld

    6. mysql的root用户只能本地访问,可以创建一个远程访问的用户:

      GRANT ALL PRIVILEGES ON *.* TO 'its'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

参考:

https://developer.aliyun.com/article/637827 
https://www.jianshu.com/p/27da2848bd89
https://blog.csdn.net/weixin_45368812/article/details/122614962