Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用不同的LINUX目录权限在不同的数据目录中创建MYSQL数据库_Mysql_Linux_Database_Mysqladmin - Fatal编程技术网

使用不同的LINUX目录权限在不同的数据目录中创建MYSQL数据库

使用不同的LINUX目录权限在不同的数据目录中创建MYSQL数据库,mysql,linux,database,mysqladmin,Mysql,Linux,Database,Mysqladmin,MYSQL版本:5,OS:RHEL5 我是新手。我正在尝试在不同的目录中创建一个数据库,而不会干扰其他数据库。查看stackoverflow,在MYSQL5中实现这一点的唯一方法似乎是创建符号链接 默认数据目录为“/var/lib/mysql”,默认用户为/etc/my.cnf文件中指定的“mysql”。此数据目录由linux用户/组mysql拥有 因此,如果我在这个目录中创建一个符号链接,它必须由user/group mysql拥有。(我不想更改此文件夹的权限并弄乱其他数据库)。同样为了使这个

MYSQL版本:5,OS:RHEL5

我是新手。我正在尝试在不同的目录中创建一个数据库,而不会干扰其他数据库。查看stackoverflow,在MYSQL5中实现这一点的唯一方法似乎是创建符号链接

默认数据目录为“/var/lib/mysql”,默认用户为/etc/my.cnf文件中指定的“mysql”。此数据目录由linux用户/组mysql拥有

因此,如果我在这个目录中创建一个符号链接,它必须由user/group mysql拥有。(我不想更改此文件夹的权限并弄乱其他数据库)。同样为了使这个符号链接方法能够工作,我需要为用户mysql提供对预期数据目录的访问权限(这也是不可接受的)

我尝试创建自己的配置文件~/.my.cnf,将user和datadir设置为所需的值,并运行“mysql--defaults file=~/.my.cnf”。但它不起作用。保持从默认位置提取数据库列表


我如何摆脱这个“mysql”用户纠结,仅仅是为了我的数据库?

mysql——默认文件=~/.my.cnf
。。。首先,
mysql
是客户端程序,而
mysqld
是服务器程序。您似乎忽略了这样一个事实,即您实际要做的事情需要在机器上运行第二个MySQL服务器实例,在不同的端口上侦听,使用不同的套接字文件、不同的系统表空间、日志。。。而且,仅当出于性能或空间原因需要将单个数据库移动到其他设备时,才使用符号链接。这不是为了“在不干扰其他数据库的情况下”做事。你真正想做什么,为什么?迈克尔:谢谢你的快速回复。我正在尝试将数据库保存在NetApp装载中,以便多台主机可以访问/修改数据库。创建从/var/lib/mysql到NetApp目录的符号链接的问题是,该链接必须由Linux用户mysql拥有,NetApp中的目标目录也应该由mysql用户拥有,这在我的情况下是不可接受的。好吧,现在我们有点进展了。。。“我试图将我的数据库保存在NetApp挂载中,以便多台主机可以访问/修改数据库。”恐怕大多数关系数据库(包括MySQL)都不是这样工作的。一台机器上的MySQL服务器守护程序需要独占访问文件,其他机器上的软件然后通过网络连接回该机器上的MySQL服务器守护程序。您可以通过这种方式从多台计算机访问数据库,而不是通过共享文件访问。即使我必须从任何机器上访问数据库,通过运行在(我们称之为)machineA上的服务器,我也希望数据库位于NetApp中,而不是machineA的/var/lib/mysql中。是否有一种方法可以使用“mysql”以外的其他用户创建从/var/lib/mysql到NetApp目录的符号链接?问题是我无法为“mysql”用户授予NetApp目录的权限。出于性能原因,在网络共享上拥有备份存储确实是不可取的,但您可能会侥幸逃脱。如果netapp施加了锁定限制(例如,每个用户的最大锁数、pid、装载等),您也可能会遇到问题。您不想在现有服务器上对此进行修补。安装一台新机器进行测试。“问题是我不能为'mysql'用户授予NetApp目录的权限。”不清楚为什么不能,请澄清。一个选项是,以完全不同的用户身份运行MySQL,并将所有所有权更改为匹配。。。首先,
mysql
是客户端程序,而
mysqld
是服务器程序。您似乎忽略了这样一个事实,即您实际要做的事情需要在机器上运行第二个MySQL服务器实例,在不同的端口上侦听,使用不同的套接字文件、不同的系统表空间、日志。。。而且,仅当出于性能或空间原因需要将单个数据库移动到其他设备时,才使用符号链接。这不是为了“在不干扰其他数据库的情况下”做事。你真正想做什么,为什么?迈克尔:谢谢你的快速回复。我正在尝试将数据库保存在NetApp装载中,以便多台主机可以访问/修改数据库。创建从/var/lib/mysql到NetApp目录的符号链接的问题是,该链接必须由Linux用户mysql拥有,NetApp中的目标目录也应该由mysql用户拥有,这在我的情况下是不可接受的。好吧,现在我们有点进展了。。。“我试图将我的数据库保存在NetApp挂载中,以便多台主机可以访问/修改数据库。”恐怕大多数关系数据库(包括MySQL)都不是这样工作的。一台机器上的MySQL服务器守护程序需要独占访问文件,其他机器上的软件然后通过网络连接回该机器上的MySQL服务器守护程序。您可以通过这种方式从多台计算机访问数据库,而不是通过共享文件访问。即使我必须从任何机器上访问数据库,通过运行在(我们称之为)machineA上的服务器,我也希望数据库位于NetApp中,而不是machineA的/var/lib/mysql中。是否有一种方法可以使用“mysql”以外的其他用户创建从/var/lib/mysql到NetApp目录的符号链接?问题是我无法为“mysql”用户授予NetApp目录的权限。出于性能原因,在网络共享上拥有备份存储确实是不可取的,但您可能会侥幸逃脱。如果netapp施加了锁定限制(例如,每个用户的最大锁数、pid、装载等),您也可能会遇到问题。您不想在现有服务器上对此进行修补。安装一台新机器进行测试。“问题是我无法授予NetApp权限