centos mysql8 配置允许远程连接

一.修改root为允许远程连接

1.登录+选择

    mysql -uroot -p
    use mysql;

2.mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password",所以接下来修改密码加密方式

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'newPassword';

3.设置该账户可以远程登陆

CREATE USER 'root'@'%' IDENTIFIED BY 'root'; //这个操作是mysql 8.0中得加的

4.任何远程主机都可以访问数据库

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

5.刷新权限

    FLUSH PRIVILEGES; 

二.创建新用户

1. 新建用户

    #CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
    use mysql;
    CREATE USER 'admin'@'%' IDENTIFIED BY 'admin123';
    //这一步提示密码过于简单,先执行一下两条命令,再次运行创建用户的命令就行 .
    set global validate_password.policy=0;
    set global validate_password.length=1;

2.mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password",所以接下来修改密码加密方式

    ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'admin123';

3.执行

    select host,user,plugin from user;
//查看新增用户的plugin是否是"mysql_native_password"

4.设置该账户可以远程登陆

    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';

5.刷新权限

    flush privileges;

说明:注意自己的安全组或者 防火墙是否开启权限
firewall-cmd --zone=public --add-port=1991/tcp --permanent

你可能感兴趣的:(Mysql)