linux mysql 数据目录迁移后不生效_Mysql数据备份与迁移(源服务器无法登录的情况)...

本次针对ubuntu物理服务器系统出现问题无法登录的情况,如何快速备份或者迁移mysql的数据文件

本文目录

mysql在服务器上的位置

快速备份数据库文件

迁移mysql数据库文件目录

mysql在服务器上的位置

首先我们看一下linux系统的大致目录:

/var这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,系统的日志文件就在/var/log目录中。

/usr 这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。其中包含以下子目录;

/usr/bin 存放着许多应用程序;

/usr/lib 存放一些常用的动态链接共享库和静态档案库;

/usr/local 这是提供给一般用户的/usr目录,在这里安装软件最适合;

根据上面的分析,我们可以大致了解到mysql在linux下目录下的大致结构:

/usr/bin 客户端程序和脚本

/usr/sbin mysqld 服务器

/var/lib/mysql 日志文件,数据库 [下文备份要用到这个目录]

/usr/include/mysql 包含( 头) 文件

/usr/lib/mysql 库

/usr/share/mysql 错误消息和字符集文件

如果找不到的话,可以通过linux find查找命令去查找mysql的目录,大致也能分析到mysql所在的目录,如下:

sudo find / -name mysql

快速备份数据库文件

1.复制无法登录的服务器上的mysql数据库文件

通过上面的分析,我们应该大致知道了mysql数据文件所在的目录,由于服务器无法登录,我们可以找一个虚拟U盘进入U盘安装ubuntu的界面,点击try ubuntu,进入虚拟的ubuntu系统,将/var/lib/mysql/下的数据库文件复制出来

2.将数据库文件复制到另外一台可用的数据库上

接下来我们找一台可以正常使用的linux系统的服务器,登录上去,停掉服务器上的mysql服务(如果没有mysql的话,需要安装)

service mysql stop # 停止新服务器的mysql服务

将刚刚复制下来的数据库文件,放到现在所在的数据库目录/var/lib/mysql下,然后再启动数据库,命令如下:

service mysql start # 启动mysql数据库

如果在启动的时候出现如下问题:

Redirecting to /bin/systemctl start mysqld.service Job for mysqld.service failed. See 'systemctl status mysqld.service' and 'journalctl -xn' for details.

有可能是mysql所在目录权限的问题,执行

chown mysql:mysql -R /var/lib/mysql

然后再执行,基本就成功了

service mysql start # 启动mysql数据库

注意:

如果服务器只是安装了mysql,没有将mysql注册为服务的话,则启动的命令要有所变化,命令如下:

/etc/init.d/mysql start # 启动mysql服务

/etc/init.d/mysql stop #停止mysql服务

/etc/init.d/mysql restart # 重启mysql服务

迁移mysql数据库文件目录

通过以上操作基本可以对mysql 数据库做备份或者恢复,我们也知道了/var/lib/mysql是mysql的数据库文件目录,当然我们也可以修改mysql的数据库文件的目录,比如我们想把数据库文件目录保存在/media/hdb1/db目录下,具体操作步骤如下:

1.修改该目录的权限:

chown mysql:mysql /media/hdb1/db

修改文件/etc/apparmor.d/usr.sbin.mysqld

sudo vim /etc/apparmor.d/usr.sbin.mysqld

找到下面的配置

/var/lib/mysql r,

/var/lib/mysql/** rwk,

将其修改为

/media/hdb1/db r,

/media/hdb1/db/** rwk,

修改目录

sudo vim /etc/mysql/my.cnf

把datadir = /var/mysql换成datadir = /media/hdb1/db

重启mysql服务即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值