centos7安装mysql8

----------- 注意安装mysql-8.0.20前要先删除本机安装的mariadb

0. 防火墙放行3306端口

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

1. 检查已经安装的mariadb,若安装了,先删除

1.1 查看

rpm -qa | grep mariadb

1.2 删除
  • 方法一:rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
  • 方法二:yum -y remove mariadb-libs-5.5.60-1.el7_5.x86_64

2. 安装

2.1 更新yum源

yum update

2.2 下载MySQL yum包

比较难的就是找 yum源的地址,其实mysql官方已经给出了,就在安装包的下载页面:


入口

yum包版本

下载,只要更新后面的yum包就行:

wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

2.3 安装软件源

rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

2.4 安装MySQL

yum install mysql-community-server -y

2.5 启动服务

systemctl start mysqld
systemctl status mysqld

3. 修改密码

3.1 查看MySQL默认密码

grep 'temporary password' /var/log/mysqld.log

3.2 登录MySQL

mysql -u root -p

3.3 修改新密码, 顺便设置加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
若报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,看下面

3.4 mysql8密码策略
  • 查看策略:SHOW VARIABLES LIKE 'validate_password%';

    12.png

    关于 mysql 密码策略相关参数;
    1. validate_password_length  固定密码的总长度;
    2. validate_password_dictionary_file 指定密码验证的文件路径;
    3. validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数;
    4. validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
    5. validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
        关于 validate_password_policy 的取值:
        0/LOW:只验证长度;
        1/MEDIUM:验证长度、数字、大小写、特殊字符;
        2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
    6. validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
    
  • 若不做修改,则新密码要包含数字、大小写、特殊字符,且长度至少为8。不建议做修改,用默认的密码策略就行。

  • 可修改密码策略

    • 设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可:set global validate_password_policy=LOW;
    • 设置密码长度:set global validate_password_length=6;

4. 设置远程连接

4.1 添加新root账号

CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '上面新设置的密码';

4.2 给予root权限

grant all privileges on *.* to 'root'@'%';

4.3 刷新权限

FLUSH PRIVILEGES;

4.4 退出mysql,重启一下mysql

quit;
systemctl restart mysqld

5. 设置mysql自启

systemctl enable mysqld

6. 修改mysql端口号

  • mysql安装好以后,配置文件位置/etc/my.cnf
  • 在配置文件中添加如下:
    [mysqld]
    port=12345
    
  • 重启服务
    systemctl restart mysqld
    
  • 进入mysql,查看端口
    mysql -u root -p
    
    mysql> show global variables like 'port';
    
  • 配置文件中还可以配置其他,自己按需修改
    [mysql]
    #设置mysql客户端默认字符集
    default-character-set=utf8mb4
    [mysqld]
    #设置3306端口
    port=3306
    #允许最大连接数
    max_connections=1000
    #允许连接失败的次数。
    max_connect_errors=10
    #最大允许包
    max_allowed_packet=10M
    #服务端使用的字符集默认为utf8mb4
    character-set-server=utf8mb4
    collation_server = utf8mb4_general_ci
    #创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    # mysql8中“mysql_native_password”插件认证不让用了,改成默认的caching_sha2_password
    default_authentication_plugin=caching_sha2_password
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。