mysql 用户及权限管理 允许远程连接

mysq,功能强大的关系型数据库,它的用户管理在开发过程中当然也尤其重要,接下来就看看mysql的用户管理

1.登录数据库

mysql -uroot -p 回车

输入密码... 回车

 

2.登录成功后,切换数据库

mysql>use mysql;

 

3.查看当前用户

mysql>select user,host from user;

这里只列举了两个字段,这张表的字段很多,一般比较关注的就这几个:

host:访问主机

user:访问用户名

plugin:认证方式(密码加密方式)

authentication_string:密码加密后的一长串字符

 

4.新增用户

mysql>CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 

host:主机ip,%【任意ip】 localhost【本机】 192.168.31.22【指定ip】

IDENTIFIED BY:将密码用默认的加密方式进行加密后放入表中,不直接存放可以明码

 

默认的加密方式需要查一下user表中的plugin,如果客户端不支持,可以指定加密方式进行加密

mysql>CREATE USER 'username'@'host' IDENTIFIED MySqlSHA1 BY 'password'; 

新增后的用户默认是没有任何权限的,也就是useage,只能登陆罢了

 

5.查看MYSQL数据库中用户的权限
mysql>show grants for 'username'@'host';
 
6.用户授权
mysql>grant privileges on dbname.tabname to "username"@"host"
privileges :权限,select【查询】,update【更新】,delete【删除】等等,all【所有】
这样的授权的用户就算拥有可所有权限,但是没办法管理其他用户,如果你想让这个用户可以授权其他用户,在后面再加上 with grant option.
grant privileges on dbname.tabname to "username"@"host" with grant option
 
 
7.修改用户
mysql>update user set host="localhost" where user="username"
user,host,plugin都可以用update语句,修改plugin之后,需要再次修改密码,否则无效,也可以在修改密码的时候指定加密方式,就不需要修改plugin
修改用户密码加密方式一般是是客户端不支持服务器这边的加密方式,才会修改的,如果支持,一般可以不修改加密方式,mysql8.0就需要修改加密方式,不然图形化工具完全没办法连接。
 
8.删除用户,根据用户名删除,也可以根据host
mysql>delete user where user="username"

 

注意:允许远程就是把用户的访问地址从localhost 到 % 或者指定ip,允许了远程之后,要设置权限,否则用户就只能登录,其他的什么也不能干,当然,你想逗他玩玩,也可以,你开心就好。

 

9.用户操作,最后一步,更新权限

mysql>flush privileges

 

10.如果还是显示无法连接,查看配置文件

则需要修改配置文件。找到my.cnf,一般在/etc/mysql/下面,具体情况根据实际而定。注释掉其中的bind-address属性。如下

 

 

好啦!只分享这么点点,等我再去喝点墨汁回来继续。

 

posted @ 2018-04-28 18:49  迷失于笔迹  阅读(6313)  评论(0编辑  收藏  举报