1、查看当前用户

1 select user();

 

2、查看当前用户的授权

1  show grants;

 

 

3、查看当前所在数据库

 

1 select database();

 

 

 

 

上图显示当前没有选择数据库。

 4、查看共有哪些数据库(显示所有的数据库)

1 show databases;

 

5、查看数据库使用的端口

 

1 show variables  like 'port';

 

 

6、查看有哪些用户

1 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

 

 

 上面显示的是所有的可以登录的用户,用户后面对应的是这个用户必须在这个host主机上才能登录这个数据库。

登录测试:

 

 

 我们在192.168.61.140这台机器上进行登录,登录命令如下:

1 mysql -uzhangmeng -h 192.168.61.140 -p

执行后提示输入密码,输入后就可以登录成功,但是由于权限问题,看不到所有的数据库,如下:

 

 

 

 

 只能看到一个数据库information_schema。

还在这台机器上,但是我们输入另一个host去连接,报错如下:

 

 

 

我们切换到另一台机器上,继续用zhangmeng这个用户名进行登录,如下:

 

 

 

 

报错如下:

 

 

 

即使我们-h输入了192.168.61.140,但是报错信息显示zhangmeng@192.168.61.135未授权。

 

这个登录命令里面的-h指定的是我们要登录的机器的ip,它们授权表里面的   用户名@ip  里面的ip没有关系。 授权表里面的ip是说,只允许这台ip机器登录,也就是mysql客户端进行登录时会把执行mysql命令的机器的ip带过去。

 

不指定-h的话默认登录目标机器为localhost。

 

我们在192.168.61.135这台机器上换另一个用户名登录,如下:

 

 

 

 可以看到登录成功了,我们执行mysql命令所在的机器是192.168.61.135,-h指定的目标机器的ip是192.168.61.140。 最终需要检验的授权是jgyw@192.168.61.135是否有登录权限,这个权限在上面的表中看到是有的,所以登录可以成功。

 

在本机登录时执行sudo mysql,这时候默认以root用户登录本机的mysql数据库,而且没有密码,这时候权限也是最高的。root用户是安装数据库时默认加上的。

以root用户登录是可以修改所有用户的密码的。

查看有哪些用户也可以使用 use mysql;  select * from user\G; 方式,这样会把mysql这个库中的user表中的信息全部打印出来。

 

7、创建数据库

1 CREATE DATABASE 数据库名;

 

posted on 2020-09-03 22:08  周伯通789  阅读(172)  评论(0编辑  收藏  举报