Mysql8修改root密码、创建新用户并给用户分配数据库权限

1、修改root密码

vim /etc/my.cnf 在[mysqld] 最后增加skip-grant-tables 跳过密码登陆

systemctl restart mysqld 重启mysqld

2、mysql -uroot -p 直接回车 进入

然后修改密码 

mysql> SET PASSWORD FOR 'root'@'localhost' = '123uuu';

然后更改my.cnf配置 删除skip-grant-tables 否则后来设置密码会报错


[mysqld]
#增加
character-set-server = utf8mb4

#增加 
[mysql]
default-character-set = utf8mb4
#增加
[client]
default-character-set = utf8mb4

创建数据库

CREATE database 数据库名 character set utf8mb4;

创建用户 

CREATE USER 'spadmin'@'localhost' IDENTIFIED BY 'spadmin';

会报错

在my.cnf增加

#增加为了能够创建新用户 否则创建新用户会error
default_authentication_plugin=mysql_native_password

因为MySQL8默认的认证插件是caching_sha2_password,很多客户端都不支持,可将默认的认证插件修改为mysql_native_password,在配置文件中配置default_authentication_plugin=mysql_native_password

增加后创建用户成功。分配数据库权限

Mysql8修改root密码、创建新用户并给用户分配数据库权限_第1张图片

将想修改的用户的host 从localhost改为%

 

GRANT ALL ON 数据库名称.* TO 'ftspider2'@'%'; #授权成功

flush privileges; #刷新一下 

已经可以连接了 !!!

你可能感兴趣的:(Mysql8修改root密码、创建新用户并给用户分配数据库权限)