CentOS7下yum安装MySQL5.7

  1. 配置 yum 源

    • 下载 mysql 源安装包

      shell> wget http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
      
    • 安装MySQL源

      shell> yum localinstall mysql57-community-release-el6-9.noarch.rpm
      
    • 检查 YUM 源是否安装成功

      shell> yum repolist enabled | grep "mysql.*-community.*"
      mysql-connectors-community           MySQL Connectors Community              21
      mysql-tools-community                MySQL Tools Community                   38
      mysql57-community                    MySQL 5.7 Community Server             130
      
  2. 安装MySQL

    $ sudo yum install mysql-community-server
    
    • 此时安装时会出现以下报错:
      在这里插入图片描述

    • 解决办法:修改/etc/yum.repos.d/mysql-community.repo 源文件,增加一行,将6改为7,并注释掉原来那一行
      在这里插入图片描述

    • 此时重新执行yum安装命令:

    • $ sudo yum install mysql-community-server
      
  3. 启动MySQL服务

    • 开机自启动服务

      $ sudo systemctl enable mysqld
      
    • 启动MySQL服务

      $ sudo systemctl start mysqld
      
    • 查看服务状态

      $ sudo systemctl status mysqld
      
  4. 修改root默认密码

    • 查看默认密码

      MySQL 5.7 启动后,在 /var/log/mysqld.log 文件中给 root 生成了一个默认密码;查看此文件找到密码
      在这里插入图片描述

    • 使用默认的root密码登录MySQL并修改root的密码

      $ mysql -u root -p
      Enter password: 
      mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
      

      注意:MySQL 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于 8 位。

    • 通过 MySQL 环境变量可以查看密码策略的相关信息:

      mysql> SHOW VARIABLES LIKE 'validate_password%';
      +--------------------------------------+--------+
      | Variable_name                        | Value  |
      +--------------------------------------+--------+
      | validate_password_check_user_name    | OFF    |
      | validate_password_dictionary_file    |        |
      | validate_password_length             | 8      |
      | validate_password_mixed_case_count   | 1      |
      | validate_password_number_count       | 1      |
      | validate_password_policy             | MEDIUM |
      | validate_password_special_char_count | 1      |
      +--------------------------------------+--------+
      
    • 指定密码校验策略:

      $ sudo vi /etc/my.cnf
      

      添加如下键值(0=LOW, 1=MEDIUM, 2=STRONG),将值改为0之后只校验密码的长度,不再校验复杂度,可设置为12345678

      validate_password_policy=0
      
    • 禁用密码策略:

      添加如下键值,此时再重启MySQL服务后,可将MySQL密码设置为任何值,如:0

      validate_password = off
      
    • 重启 MySQL 服务,使配置生效

      $ sudo systemctl restart mysqld
      
  5. 使用户可远程登录

    MySQL 默认只允许 root 帐户在本地登录,如果要在其它机器上连接 MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,本例添加一个mysql密码为1的新账户:

    mysql> select Host,User from mysql.user;
    +-----------+---------------+
    | Host      | User          |
    +-----------+---------------+
    | localhost | mysql.session |
    | localhost | mysql.sys     |
    | localhost | root          |
    +-----------+---------------+
    3 rows in set (0.00 sec)
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY '1' WITH GRANT OPTION;
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    

    ALL:代表接受所有操作,比如 select,insert,delete….;

    .:代表所有库下面的所有表;

    %:代表这个用户允许从任何地方登录;为了安全期间,这个%可以替换为你允许的ip地址;

  6. 配置默认编码为utf8

    • MySQL 默认为 latin1, 一般修改为 UTF-8

      $ vi /etc/my.cnf
      
    • 在[myslqd]下添加如下键值对

      character_set_server=utf8
      init_connect='SET NAMES utf8'
      
    • 重启 MySQL 服务,使配置生效

      $ sudo systemctl restart mysqld
      
    • 查看编码格式是否已经生效

      mysql> SHOW VARIABLES LIKE 'character%';
      +--------------------------+----------------------------+
      | Variable_name            | Value                      |
      +--------------------------+----------------------------+
      | character_set_client     | utf8                       |
      | character_set_connection | utf8                       |
      | character_set_database   | utf8                       |
      | character_set_filesystem | binary                     |
      | character_set_results    | utf8                       |
      | character_set_server     | utf8                       |
      | character_set_system     | utf8                       |
      | character_sets_dir       | /usr/share/mysql/charsets/ |
      +--------------------------+----------------------------+
      
  7. 开启防火墙端口

    $ sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
    $ sudo firewall-cmd --reload
    

转自:https://qizhanming.com/blog/2017/05/10/centos-7-yum-install-mysql-57

猜你喜欢

转载自blog.csdn.net/zwdwinter/article/details/84951654