Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
MariaDB:自定义数据目录:始终需要保留/var/lib/mysql目录_Mysql_Mariadb - Fatal编程技术网

MariaDB:自定义数据目录:始终需要保留/var/lib/mysql目录

MariaDB:自定义数据目录:始终需要保留/var/lib/mysql目录,mysql,mariadb,Mysql,Mariadb,我在Centos 7.0上安装了MariaDB服务器13.0,禁用了SELinux。我成功地启动了MariaDB服务器。之后,我想定制我的数据库数据目录。以下是我的步骤: 步骤1:备份/var/lib/mysql目录 第二步:复制到另一个地方:cp-Rp/var/lib/mysql/disk1/mysql 步骤3:从my.cfg.d/server.cfg修改datadir:datadir=/disk1/mysql 然后使用以下命令停止并再次启动MariaDB服务器: sudo systemc

我在Centos 7.0上安装了MariaDB服务器13.0,禁用了SELinux。我成功地启动了MariaDB服务器。之后,我想定制我的数据库数据目录。以下是我的步骤:

  • 步骤1:备份
    /var/lib/mysql
    目录
  • 第二步:复制到另一个地方:
    cp-Rp/var/lib/mysql/disk1/mysql
  • 步骤3:从
    my.cfg.d/server.cfg
    修改
    datadir
    datadir=/disk1/mysql
然后使用以下命令停止并再次启动MariaDB服务器:

sudo systemctl start mariadb
一切顺利。我可以创建一个新数据库,一个新表,我看到它改变了新路径中的数据。但是,如果我删除所有目录
/var/lib/MySQL
。我不能再启动我的服务器了

这是运行命令时的日志
systemctl status mariadb.service

  • mariadb.service-已加载mariadb 10.3.16数据库服务器:已加载(/usr/lib/systemd/system/mariadb.service;已禁用;供应商预设: 禁用)输入:/etc/systemd/system/mariadb.service.d
    -custom.conf,migrated-from-my.cnf-settings.conf活动:自2019-06-28 11:55:59+07周五以来失败(结果:退出代码);
    4年前
    文档:man:mysqld(8)
    https://mariadb.com/kb/en/library/systemd/   进程:23296 ExecStart=/usr/sbin/mysqld$mysqld\u OPTS$\u WSREP\u NEW\u集群
    $\u WSREP\u START\u位置(代码=退出,状态=1/失败)进程:
    23281 ExecStartPre=/bin/sh-c[!-e/usr/bin/galera_recovery]&&
    VAR=||VAR=
    /usr/bin/galera_recovery`;[$?-eq 0]&&systemctl 设置环境_WSREP_START_POSITION=$VAR | |退出1(代码=退出, 状态=0/成功)进程:23277 ExecStartPre=/bin/sh-c systemctl 取消设置环境位置(代码=退出, 状态=0/成功)主PID:23296(代码=退出,状态=1/失败)
    状态:“MariaDB服务器已关闭”

我的旧数据库服务器,我可以删除
/var/lib/mysql
。请向我解释原因。

我已经检查了mysql日志。它有一行内容是“无法读取文件/var/lib/mysql/mysql.sock”。那是我的旧目录。所以我想我需要定制
mysql.sock

/etc/my.cnf.d/server.cnf
中:

[mysqld]
datadir=/disk1/mysql/
socket=/disk1/mysql/mysql.sock
/etc/my.cnf.d/client.cfg
中:

[client]
# we need to configure this. so when we type mysql -u user. mysql can look up socket's location.
socket=/disk1/mysql/mysql.sock

之后,我可以运行并成功连接到我的mysql实例。我不知道为什么没有教程指出这一点。但这是我用来解决问题的一种方法。

可能的重复是不重复的。我提供了关于数据库版本、操作系统版本、我的步骤的更多细节,并详细指出了我无法成功的地方。请再仔细看看。所以如果你认为这不是我的反对票;)只有一个地方需要更改位置,这在本文中有所描述。另一件事更像是一个与服务器相关的问题。所以你应该在ServerFault上试试。“无法启动”--日志中有错误吗?@RickJames我已经通过自定义
mysql.sock
文件路径修复了我的问题。我不知道为什么没有教程讨论这个问题。(而且仍然成功)。你知道为什么吗?谢谢