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; (刷新修改)
第一个星号:数据库名
第二个星号:表名
%:表示所有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 changed
mysql> 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 -p123
mysql> 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 -p123
mysql> 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';
就阔以啦