首页 > 技术分享 > MySQL
收藏

MySQL用户操作

08/12 12:26
大潇博客 原创文章,转载请标明出处

连接池:由于每次建立连接需要消耗很多时间,连接池的作用就是将这些连接缓存下来,下次可以直接用已经建立好的连接,提升服务器性能。

存储引擎:直白些说就是管理数据库操作(存储、更新、查询等)的一种方法。


查看mysql用户列表

select * from mysql.user;

select User,Host from mysql.user;


创建用户

create user 'test'@'localhost' identified by '123456';  #本地登录

create user 'test'@'%' identified by '123456';  #远程登录,包括localhost

flush privileges;  #刷新系统权限列表


赋予用户权限

赋予test用户操作form数据库任何表的查询权限

grant select on form.* to 'test'@'%'

赋予test用操作test数据库任何表的所有权限

grant all privileges on form.* to 'test'@'localhost' identified by '123456';  #适用于mysql8以下版本

grant all privileges on form.* to 'test'@'localhost' #适用于mysql任何版本,mysql8以上仅支持此语句,后面携带密码会报错

注意:给某个用户赋予所有权限后,再赋予单独的权限,没有意义,不会覆盖。

赋予权限后不用刷新权限,在其它客户端已登录时,也会立即生效,无需退出重新登录。


删除用户

delete from mysql.user where user='test' and host='localhost';

flush privileges;  #刷新系统权限列表


忘记密码,重置密码

设置免密登录

找到mysql配置文件my.cnf,在[mysqld]入中加上一行跳过权限限制(跳过授权表,不会去读那个表,直接进入MySQL)

skip-grant-tables

保存退出,重启mysql服务

这次仅使用mysql命令即可登录


重置用户密码

update mysql.user set authentication_string=password('123456') where user='test'

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

上面三种在MySQL5.7.6以前都适用

然而,在MySQL 5.7.6以后,password()函数已经被废弃,并且在MySQL 5.7.11以后,password()函数被彻底移除。因此,建议使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';命令设置密码。

设置密码时出现下面的错误提示:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

先执行

flush privileges;

刷新权限列表,再执行设置密码sql,然后再次刷新权限,改回配置,重启mysql服务器,使用新密码即可登录


连接阻塞

在其它客户端登录时,若出现这种错误

ERROR 1129 (HY000): Host '10.168.1.203' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

这是由于同一个ip在短时间内产生太多中断的数据库连接而导致的阻塞(超过mysql数据库max_connection_errors的最大值)。

解决方法:

在被连接的远程服务器中,使用mysqladmin flush-hosts命令清理一下hosts文件(不知道mysqladmin在哪个目录下可以使用命令查找:whereis mysqladmin)

在查找到的目录下使用命令修改

/usr/bin/mysqladmin flush-hosts -h10.168.1.150 -P3308 -uroot -prootpwd;

注意:配置有master/slave主从数据库的要把主库和从库都修改一遍。


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311