mysql安装的时候,有一步是mysql_install_db --user=mysql,新手请教
生成授权表实际上是完成了mysql的初始化,在执行这个脚本之后,mysql里就会出现名为mysql的库。解决方法如下:
1、首先连接到mysql数据库,查看默认所有数据库信息,如下图所示。
2、因为user表存在于mysql数据库中,可以通过use命令来切换数据库。
3、切换数据库之后通过show命令可以查看数据库中所有的数据表,在最后可以看到user数据表。
4、通过desc命令可以查看user表的结构信息,因为User表所包含的信息比较多所以结构信息也比较多。
5、在默认没有创建其它用户的情况下,只有超级管理员的信息。
6、另外如何想要查直接查看超级管理员的权限可以通过show grants来进行查看。
生成授权表实际上是完成了mysql的初始化。你在执行这个脚本之后,mysql里就会出现名为mysql的库。mysql库里有常用的权限表等系统表。比如设置用户权限的user表。
后面的参数--user所指定的用户是你想要运行mysqld进程用户名。这个是可变的,不一定非要是mysql。设置这个用户以后,所有通过mysqld进程创建的文件都会属于这个用户。网上的教程里多用mysql用户是为了在生产环境中更方便管理。
不知道这样说你能不能明白。欢迎追问。
那mysql目录以及其下的所有文件所有者都必须是mysql吗?这是必要的么?还有所属组?
这个不是必须的。但是组最好设定为mysql组。在进行权限管理时方便管理。
linux系统默认用户(比如root)也是可以的。但是在生产环境中,一般只需要将日志的路径(配置文件中日志的路径),和数据文件路径(datadir参数)设置为mysql用户就可以了。(这个不同的公司也有不同的设置,但是简单来说是这样的。)
上面说的其实都是linux系统权限管理的内容。有些文件,比如你不希望其他用户看到的文件,或者只有指定用户可写的文件,就可以设定成某个特殊用户。至于你后面问的所属组的问题。这个也是权限管理的一部分。比如说,一个文件的用户权限是root,组权限是mysql,这样的文件就只能root用户和mysql组里的用户访问。
这样说不知道你能明白吗。