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 userG; 方式,这样会把mysql这个库中的user表中的信息全部打印出来。
7、创建数据库
1 CREATE DATABASE 数据库名;