尽管这些响应中的一些是有用的,但由于Unix根用户和mysql根用户并不相同,并且除了它们都使用登录名“ root”以外,它们基本上没有任何关系,因此令人困惑。也许这很明显,但似乎有些回应将两者混为一谈。
mysqld的一个有用选项(也许存在)是允许以unix root身份运行的客户端程序(例如mysql或mysqldump等)在没有密码的情况下访问mysqld的root @ localhost,而不必存储root @ localhost的(mysql)密码在my.cnf文件或类似文件中。
我知道这让您感到有些紧张,但原因是任何以本地(对于mysqld服务器)unix根目录运行的人都可以轻松地绕过mysqld的安全性。并拥有一个带有mysqld根密码7x24的my.cnf,甚至在运行中(例如,执行mysqldump)动态创建/删除一个带有mysqld根密码(该密码来自何处?)的my.cnf都使我感到紧张。
这将需要一些基础结构和思考,因为必须信任mysql / mysqldump / etc才能将其确实认为是由本地unix根帐户运行的消息传输到mysqld。
但是,例如,仅将其限制为mysqld的unix套接字(无TCP)可能会有所帮助,至少强烈建议使用此选项。那可能会确定客户端在本地运行,这可能还不够。但这可能是一个想法的开始。也许通过unix套接字发送文件描述符可能是另一段(如果听起来像疯话,那就用谷歌搜索)。
PS不,我不会在这里尝试集思广益,这些想法如何在非unix操作系统上运行,如果这个想法可能会转化为其他操作系统。