我正在按照 MariaDB 网站上的说明进行操作这里一切都很好,直到我看到下面显示的部分。
[root@squir scripts]# mysql_install_db --defaults-file=/mariadb/data/my.cnf
FATAL ERROR: Could not find mysqld
The following directories were searched:
/mariadb/mariadb/libexec
/mariadb/mariadb/sbin
/mariadb/mariadb/bin
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
我想知道目录结构是否存在问题,导致安装混乱。文档也很旧,所以我不确定是否缺少某个步骤。
我迄今所做的
- 下载了 MariaDB.tar.gz
- 创建一个名为 /mariadb/ 的目录
- 提取 MariaDB.tar.gz 并创建一个名为 mariadb 的符号链接
- 为 MariaDB 目录创建用户组和用户名
- 创建 /mariadb/data 用于存储 MariaDB 数据文件(数据库)
通过该命令复制预先写好的配置文件。
cp mariadb/support-files/my-medium.cnf mariadb/data/my.cnf
按照说明编辑 my.cnf 文件这里
[客户端] 端口 = 3307 套接字 = /mariadb/data/mariadb.sock
[mysqld] datadir = /mariadb/data basedir = /mariadb/mariadb port = 3307 socket = /mariadb/data/mariadb.sock 用户 = mariadb
从支持文件复制 init.d 脚本到正确的位置:
- 编辑 /etc/init.d/mariadb 用 mariadb 替换 mysql
通过明确提供 my.cnf 文件作为参数来运行 mysql_install_db:
脚本/mysql_install_db --defaults-file=/opt/mariadb-data/my.cnf
虽然在第 10 步,但我无法执行此命令。因此我按照上面所述操作,但还是显示错误。
答案1
basedir
是“基础”目录,所有bin
lib
内容等目录都位于其中。
改成 。basedir = /mariadb/mariadb
basedir = /mariadb
另外,我猜测my.cnf
位置在某处/mariadb/data/my.cnf
,请--defaults-file=/opt/mariadb-data/my.cnf
相应更改。
此外,必须mysql_install_db
逃离/mariadb
scripts/mysql_install_db
mysql_install_db
将调用来自的脚本/usr/bin
,而不是来自的脚本/mariadb/scripts/
。
最好按照标准进行安装/opt/
。
另外,请确保 selinux 处于宽容模式:
getenforce
设置“允许”/etc/sysconfig/selinux