如果我想建立一个mariadb数据库,并以本地用户的身份启动mariadb:
我可以很容易地覆盖诸如--datadir=$HOME/mariadb/data
或--error_log=$HOME/mariadb/log/mysql_error.log
之类的参数,
但是我没有找到一种直接的方法让mariadb-install-db
或mysqld
忽略在我的系统配置文件中设置的user = mysql
设置。
我在ubuntu系统上运行mariadb10.5,标准系统配置文件位于/etc/mysql/
。
请注意,这并不是一个真正的阻塞点,因为我收到了 warnings,安装程序和mysqld守护程序都成功地应用了它们的操作。但它会产生可怕的警告:
$ mariadb-install-db --user=legec --datadir=$HOME/mariadb/data
chown: cannot access '/usr/lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool': Permission denied
chown: changing ownership of '/usr/lib/mysql/plugin/auth_pam_tool_dir': Operation not permitted
2023-12-14 17:51:57 0 [Warning] Ignoring user change to 'legec' because the user was set to 'mysql' earlier on the command line
2023-12-14 17:51:57 0 [Warning] Ignoring user change to 'legec' because the user was set to 'mysql' earlier on the command line
...
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/
$ echo $?
0
字符串
在我的系统上,user = mysql
设置在文件/etc/mysql/mariadb.conf.d/50-server.cnf
中提供,
如果我删除该行并从SQL中删除--user=legec
选项,则警告将消失。
问题
有没有一种方法可以让mysqld
和mariadb-install-db
以本地用户身份运行,并完全忽略任何user
设置?
或者覆盖一个选项来声明“我想以当前用户身份运行,忽略任何user
设置”?
1条答案
按热度按时间yvgpqqbh1#
简单的方法是使用
--no-defaults
。字符串
如果没有
--user
设置,它将使用当前用户作为安装用户,而不会尝试chown auth_pam_tool helper。--no-defaults
和所有--default*
命令行选项一样,必须在命令行中首先出现。要保留现有设置,请执行以下操作:
型