如何让mariadb-install-db和mysqld忽略配置文件中的user设置?
MariaDB以本地用户运行时忽略系统user配置的解决方案
方法1:完全跳过系统配置文件
执行mariadb-install-db或mysqld时添加--no-defaults参数,彻底不加载任何系统默认配置文件,自然就不会读取到/etc/mysql/mariadb.conf.d/50-server.cnf中的user = mysql设置。
示例命令:
# 初始化数据库 mariadb-install-db --no-defaults --user=$USER --datadir=$HOME/mariadb/data # 启动服务 mysqld --no-defaults --user=$USER --datadir=$HOME/mariadb/data --error_log=$HOME/mariadb/log/mysql_error.log
注意:使用该参数后,所有需要的配置都得通过命令行指定,无法复用系统配置里的其他参数。
方法2:指定自定义配置文件
创建仅包含自己所需参数的自定义配置文件,用--defaults-file指定加载该文件,跳过系统默认配置。
- 创建自定义配置文件(比如
$HOME/mariadb/my.cnf):
[mysqld] datadir = /home/legec/mariadb/data error_log = /home/legec/mariadb/log/mysql_error.log # 不要添加user参数,默认以当前运行用户启动
- 执行命令时指定该配置文件:
mariadb-install-db --defaults-file=$HOME/mariadb/my.cnf --user=$USER mysqld --defaults-file=$HOME/mariadb/my.cnf --user=$USER
这种方式既可以保留配置文件的便利性,又能避免系统配置的干扰。
内容的提问来源于stack exchange,提问作者LeGEC
相关产品推荐
相关产品推荐

