MariaDB:自定义数据目录:始终需要保留/var/lib/mysql目录 [英] MariaDB: Custom data directory: Always need to keep /var/lib/mysql directory

查看:335
本文介绍了MariaDB:自定义数据目录:始终需要保留/var/lib/mysql目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Centos 7.0上安装了MariaDB服务器13.0,禁用了SELinux.我成功启动了MariaDB服务器.之后,我要自定义数据库数据目录.所以这是我的步骤:

I installed MariaDB server 13.0 on Centos 7.0, disabled SELinux. I started the MariaDB server successfully. After that, I want to custom my database data directory. So here are my steps:

  • 步骤1:备份/var/lib/mysql目录
  • 第2步:复制到另一个位置:cp -Rp /var/lib/mysql /disk1/mysql
  • 第3步:从my.cfg.d/server.cfg:datadir=/disk1/mysql
  • 修改datadir
  • step 1: backup /var/lib/mysql directory
  • step 2: copy to another place: cp -Rp /var/lib/mysql /disk1/mysql
  • step 3: modify datadir from my.cfg.d/server.cfg: datadir=/disk1/mysql

然后我使用以下命令停止并重新启动MariaDB服务器:

Then I stop and start again the MariaDB server using the following command:

sudo systemctl start mariadb

一切顺利.我可以创建一个新的数据库,一个新的表,并且看到它会更改新路径中的数据.但是,如果我删除所有目录/var/lib/MySQL.我无法再启动服务器.

Everything runs successfully. I can create a new database, a new table and I see it changes the data in the new path. However, if I remove all directory /var/lib/MySQL. I cannot start my server anymore.

这是运行命令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 Active: failed (Result: exit-code) since Fri 2019-06-28 11:55:59 +07; 4s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 23296 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE) Process: 23281 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=/usr/bin/galera_recovery`; [$? -eq 0]&&系统控制 设置环境_WSREP_START_POSITION = $ VAR || 1号出口(代码=退出, status = 0/SUCCESS)进程:23277 ExecStartPre =/bin/sh -c systemctl 取消设置环境_WSREP_START_POSITION(代码=已退出, status = 0/SUCCESS)主PID:23296(代码已退出,status = 1/FAILURE)
    状态:"MariaDB服务器已关闭"
  • mariadb.service - MariaDB 10.3.16 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/mariadb.service.d -custom.conf, migrated-from-my.cnf-settings.conf Active: failed (Result: exit-code) since Fri 2019-06-28 11:55:59 +07; 4s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 23296 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE) Process: 23281 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=/usr/bin/galera_recovery`; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS) Process: 23277 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS) Main PID: 23296 (code=exited, status=1/FAILURE)
    Status: "MariaDB server is down"

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

My old database server, I can delete /var/lib/mysql. Please explain to me the reason why.

推荐答案

我已经检查了mysql日志.它的一行内容为无法读取文件/var/lib/mysql/mysql.sock".那是我的旧目录.所以我认为我需要自定义mysql.sock.

I have checked mysql log. It has a line with content "cannot read file /var/lib/mysql/mysql.sock". That is my old directory. So I think I need to custom 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实例.我不知道为什么没有教程指出这一点.但这是我用来解决问题的一种方式.

After that, I can run and connect successfully to my mysql instance. I don't know why there is no tutorial point out this point. But this is a way I used to fix my problem.

这篇关于MariaDB:自定义数据目录:始终需要保留/var/lib/mysql目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆