ubuntu14.04 mysql用户权限操作实录

来源:互联网 发布:淘宝助理设置快递模板 编辑:程序博客网 时间:2024/06/03 19:23

1.系统环境

ubuntu server 14.04

2.mysql

安装ubuntu时,自带的mysql

3.启动mysql

方式一:sudo /etc/init.d/mysql start

方式二:sudo start mysql
方式三:sudo service mysql start(未实验)

4.停止mysql:
方式一:sudo /etc/init.d/mysql stop 
方式二:sudo stop mysql
方式三:sudo service mysql stop(未实验)

重启mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo restart mysql
方式三:sudo service mysql restart(未实验)

5.登录mysql
进入sudo vim /etc/mysql/debian.cnf
这个文件里有初始用户名,密码

6.增加用户
grant all on *.* to 用户名@"%" identified by '密码'
第一个星号:数据库名
第二个星号:表名
%:表示所有ip均可访问,如果把%换成"192.168.11.11",那么就只有通过192.168.11.11连接mysql,才能访问mysql
flush privileges; (刷新修改)

举个例子:
grant all on bolo.* to sim@"%" identified by '123';
flush privileges;
之行之后,
mysql -h(mysql的ip) -p3306 -usim -p123
可以登录mysql,但是showdatabases后,只能看到下面的内容

mysql> use bolo;Database changedmysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || bolo               |+--------------------+
也就是说,sim这个用户,只有bolo这个数据库的权限

7.修改用户权限
怎么才能让sim这个用户看到更多的数据库呢?比如可以看见mysql库,和performance_schema库
当然,我们可以在一开始就执行
grant all on *.* to sim@"%" identified by '123';
flush privileges;
注意,我把 bolo.* 改成了 *.*
接下来,再次登录数据库
mysql -h(mysql的ip) -p3306 -usim -p123mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || bolo               || mysql              || performance_schema |+--------------------+4 rows in set (0.00 sec)
可以看到,sim用户可以看到所有的库了,很厉害吧


但是我觉得这样操作不方便,我更倾向直接修改数据库中控制权限的表数据,下面来操作
首先,我们用/etc/mysql/debian.cnf文件中的用户登录mysql
这个用户很厉害,权限很高,登录进入之后执行
show databases 可以看到所有库
use mysql;select Host, User, Password from user;会看到刚才增加的sim用户mysql> select Host, Db, User from db;+------+---------+---------+| Host | Db      | User    |+------+---------+---------+| %    | %       | root    || %    | bolo    | sim     |+------+---------+---------+
可以看到sim这个用户对应的数据库时bolo,那么我们只需要把sim的Db字段值改成%就可以让sim用户操作所有的库了
update db set Db='%' where User = 'sim';flush privileges;
再查看下db表的内容
mysql> select Host, Db, User from db;
+------+---------+---------+| Host | Db      | User    |+------+---------+---------+| %    | %       | root    || %    | %       | sim     |+------+---------+---------+

这样,再次用sim用户登录mysql,就可以看到所有的数据库
mysql -h(mysql的ip) -p3306 -usim -p123mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || bolo               || mysql              || performance_schema |+--------------------+4 rows in set (0.00 sec)
8.修改用户密码

如何修改用户密码呢?
很简单呀,改记得刚才的select Host, User, Password from user;吗
那么只要

update User set Password='新密码' where User='sim';

就阔以啦





0 0
原创粉丝点击