Ubuntu中更改MySQL数据库文件目录的方法
作者:daisy 发布时间:2024-01-15 06:39:18
前言
公司的Ubuntu服务器对于各个系统的目录是放在不同的逻辑分区上的,比如存放mysql数据库文件的默认目录/var/lib/mysql所在的系统目录/var/单独在一个分区上,但是这个分区的大小是固定的,不足以存放整个数据库文件。但是另一个系统目录/data大小却达到T级,大大满足了需求,因此有了更改数据库文件目录的需求。
以下是我参考网络上一些文章进行尝试的过程:
1.停止数据库服务:
使用/etc/init.d/mysql stop
或者 stop mysql
2. 在目标位置(/data)创建数据库文件的目录(如/mysqldb),并复制(如果不再使用默认的位置,则可以直接mv原先数据库文件到新目录下)原先的数据库文件目录到该目录下:
cd /data
mkdir mysqldb
cp -r /var/lib/mysql /data/mysqldb/
经过一段时间的等待后,在/data/mysqldb/下面就有了原先默认的mysql数据库文件目录的拷贝“/mysql”
3.修改my.cnf文件
# vim /etc/mysql/my.cnf
将datadir = /var/lib/mysql
改为 datadir = /data/mysqldb/mysql
另外由于当前my.cnf 中的socket = /var/run/mysqld/mysqld.sock
(而并非像网上所说的sock = /var/lib/mysql/mysql.sock),即socket的位置并不在数据库文件所在的位置,因此可以不做类似网上其他网页所说的,要使用以下的命令做一个mysql.sock 链接:
ln -s /data/mysqldb/mysql/mysql.sock /var/lib/mysql/mysql.sock (需要从/home/data/mysql下复制一份过来)
4. 修改数据库的权限:
# chown -R mysql:mysql /data/mysqldb/mysql/ ← 改变数据库文件目录的归属为mysql
# chmod 700 /data/mysqldb/mysql/whois/ ← 改变数据库目录whois的属性为700
# chmod 660 /data/mysqldb/mysql/whois/* ← 改变数据库中数据表的属性为660
5. 修改文件usr.sbin.mysqld
# vim /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r,
/var/lib/mysql/** rwk,
改成
/data/mysqldb/mysql/ r,
/data/mysqldb/mysql/** rwk,
注意:没有该步骤的话,将导致数据库服务无法重启,好像在重启,但是一直卡住无反应。
6.启动mysql服务器
/etc/init.d/apparmor restart
/etc/init.d/mysql restart (或者使用 restart mysql)
搞定!
来源:https://www.linuxidc.com/Linux/2012-12/75647.htm
猜你喜欢
- 方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib方法2: 多文件模块,文件内有setup.py文件在官网或者GitHub
- 官方文档https://developers.weixin.qq.com/miniprogram/dev/framework/open-ab
- python 换位密码算法的实例详解一前言:换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而
- 例子:#!/bin/perlprint "Please input an string and a number by order
- 在开发网站的过程中,404,500错误,是不可避免产生的。一旦产生了这种错误,很多可以通过web server 来处理。比如使用 apach
- 利用这个小游戏可以学习一下ython3.3中tkinter的使用方法# -*- coding: utf-8 -*-import tkinte
- 我们在做深度学习的过程中,经常面临图片样本不足、不平衡的情况,在本文中,作者结合实际工作经验,通过图像的移动、缩放、旋转、增加噪声等图像变换
- 速查表是帮你记住东西的有效工具。Web设计师和开发者经常使用的快捷键简表会使他们在网上的工作效率大大提高。事实上,速查表就是来帮助我们把日常
- 问题描述:很多网站会对用户发帖内容进行一定的检查,并自动把敏感词修改为特定的字符。技术要点:1)Python正则表达式模块re的sub()函
- 译注:这是一篇在Stack overflow上很热的帖子。提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(me
- MSSQL随机数 MSSQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可
- 前言PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数
- 本文实例主要实现Python中的文件复制操作,有两种方法,具体实现代码如下所示:#coding:utf-8 # 方法1:使用read()和w
- 本文进通过实例,讲述通过 prototype 自定义方法的过程,旨在抛砖引玉,如果不对的地方,欢迎指正!prototype 是在 IE 4
- 有的时候,操作大文件,或者取数,要很久,我们给脚本首尾添加一段代码就知道,这段代码整体的大致运行时间了。import timestart =
- 游戏介绍在游戏中,魔术师要每位观众心里想一个三位数abc (a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、
- 如下所示:daffodil = int(input('请输入一个三位数:'))if daffodil == pow(daff
- 使用transaction: var stopwatch = new Stopwatch(); us
- 启发式搜索在人工智能中起着关键作用。在本章中,您将详细了解它。AI中的启发式搜索的概念启发式是一个经验法则,它引导我们找到可能的解决方案。人
- 对设计“以人为本”和“绿色设计”两个观点的反思——兼与设计界同仁商榷Reflection of Two Views: “People-ori