Mysql一些学习笔记

1、修改用户密码

旧版本:

update mysql.user set password=password('123456') where user='itcast'; 

新版本:

ALTER USER 'itcast'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123456';

2、添加用户和授权

2.1. 创建新用户:

 create user 'username'@'host' identified by 'password'; 


其中username为自定义的用户名;host为登录域名,host为'%'时表示为 任意IP,为localhost时表示本机,或者填写指定的IP地址;paasword为密码

2.2. 为用户授权:

 grant all privileges on *.* to 'username'@'%' with grant option; 

其中*.*第一个*表示所有数据库,第二个*表示所有数据表,如果不想授权全部那就把对应的*写成相应数据库或者数据表;username为指定的用户;%为该用户登录的域名

2.3. 授权之后刷新权限:

 flush privileges; 


2.4.撤销授权

#收回权限(不包含赋权权限)
REVOKE ALL PRIVILEGES ON *.* FROM user_name;
REVOKE ALL PRIVILEGES ON user_name.* FROM user_name;
#收回赋权权限
REVOKE GRANT OPTION ON *.* FROM user_name;

#操作完后重新刷新权限
flush privileges;
 

 3、mysql设置了read_only为什么还能修改数据

  1. read_only对拥有super和connection_admin这两个权限的用户无效。

回收CONNECTION_ADMIN权限(似乎无效)

revoke CONNECTION_ADMIN on *.* from scott;

  1. 尽量用库名.*去赋权,而非*.(有效)

 grant all privileges on db01.* to 'username'@'%' with grant option; 

你可能感兴趣的:(mysql,学习,数据库)