由于ubuntu默认的mysql路径是在/var/lib/mysql下,很多时候我们如果没有挂载其它分区在/var的时候,随着网站逐渐浏览和添加内容,数据容量也会越来越大,自然磁盘空间也会比较吃紧。因此我们就需要把mysql的data路径转移到其它目录下。

 
今天在转移的时候走了不少弯路,最后经过反复尝试后得到了比较精简的步骤,提炼如下。
 
设置新data路径(假设新路径为/data/mysql)这里需要说明的就是,最开始我图省事使用了mv来移动,随后发现在设置完路径后mysql无法访问。因此为了保险起见还是按照这里的步骤来吧。
 
建立新的路径
sudo mkdir -p /data/mysql
复制数据
sudo cp -R /var/lib/mysql/* /data/mysql
修改文件夹权限
sudo chown -R mysql:mysql /data/mysql
修改配置文件
sudo vim /etc/mysql/my.cnf
查找并用#注释以下
datadir = /var/lib/mysql
新增
datadir = /data/mysql
 
需要提醒的是:单只修改mysql的config文件是不够的,在你重启mysql服务的时候会发现启动失败。原因则是ubuntu里有一个访问控制系统apparmor,因此我们还需要在这里修改一下才能完全成功。
 
修改安全保护文件
sudo vim /etc/apparmor.d/usr.sbin.mysqld
查找并用#注释以下两节
/var/lib/mysql r,
/var/lib/mysql/** rwk,
新增
/data/mysql r,
/data/mysql/** rwk,
修改访问控制文件
sudo vim /etc/apparmor.d/abstractions/mysql
注释掉
/var/lib/mysql/mysql.sock rw
新增
/data/mysql/mysql.sock rw
重启服务
/etc/init.d/apparmor restart
/etc/init.d/mysql restart
 
这时候再访问就会发现已经修改成功了,数据的读写都经由新路径实现。

ubuntu下修改mysql默认data路径的更多相关文章

  1. ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法

    ubuntu下修改mysql默认字符编码出现的Job failed to start解决办法 前几天卸掉了用了好多年的Windows,安装了Ubuntu12.04,就开始各种搭环境.今天装好了MySQ ...

  2. Ubuntu 16.04.1下修改MySQL默认编码

    在Ubuntu 下配置 MySQL 的字符编码.安装完 MySQL 后,系统默认的字符编码是 latin1 ,输入的是中文,可是输出却是一堆乱码.现在要做的就是把 MySQL的默认字符编码设置为支持中 ...

  3. centos 下修改mysql 默认字符集

    解决办法: CentOS 7下修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码. 具体操作: 1.进入MySQL控制台 mysql  -u root - ...

  4. Linux下修改mysql默认最大连接数

    liunx下修改mysql最大连接数(Centos下测试通过)1.查看当前系统下mysql设置的最大连接数方式一.mysqladmin -uroot -p variables |grep max_co ...

  5. Modify the apache2 default document and home page on ubuntu (ubuntu下修改apache2默认目录和默认主页)

    Change the apache2 default website directory As we know, The apache2 default directory at /var/www/, ...

  6. ubantu 下 修改mysql 默认编码

    启动mysql后,以root登录mysql root@Eadgar-virtual-machine:~# mysql -uroot -proot mysql> show variables li ...

  7. 阿里云linux下修改mysql默认密码(xampp环境)- 原创

    1.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/my ...

  8. ubuntu16.0.4下修改MySQL的data目录之mysqld启动报错

    由于需要更换MySQL的data目录,更改完成后启动报错如下: apparmor="DENIED" operation="mknod" profile=&quo ...

  9. win下修改mysql默认的字符集以防止乱码出现

    环境:win8.1+mysql5.6.11+xampp(v3.2.1) 默认的编码如下 查看方式: show variables like 'character%'; 结果: 从以上信息可知数据库的编 ...

随机推荐

  1. L1-059 敲笨钟 (20 分)

    微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉.为了增加敲钟的趣味性,还会糟改几句古诗词.其糟改的方法为:去网上搜寻压“ong”韵的古诗词,把句尾的三个字换成“敲笨钟”.例如唐代 ...

  2. C++学习(十七)(C语言部分)之 指针

    复习 数组定义格式 类型 数组名[数组大小]数组名+下标 int arr[2][3]={{1,2,3},{4,5,6}}; int arr[][3]={1,2,3,4,5,6};//二维数组定义的时候 ...

  3. 高斯消元 o(n^3) 取摸和不取摸

    #include<bits/stdc++.h> using namespace std; ; int a[MAXN][MAXN];//增广矩阵 int x[MAXN];//解集 bool ...

  4. Linux 命令:文件目录操作与实例

    来源: http://blog.51cto.com/yuanzhitang/2056994 本文介绍基础的文件操作:创建,移动,编辑,删除 文件和文件夹   命令与案例:   mkdir 创建目录 - ...

  5. 直面Java 第002期

    . Java和C++同为面向对象语言,Java和C++主要区别有哪些?双方个有哪些优缺点? 解: C++ 被设计成主要用在系统性应用程序设计上的语言,对C语言进行了扩展.对于C语言这个为运行效率设计的 ...

  6. 【java编程】Java魔法类:Unsafe应用解析

    转载来源:https://tech.meituan.com/2019/02/14/talk-about-java-magic-class-unsafe.html 前言 Unsafe是位于sun.mis ...

  7. 新一代构建工具gradle学习

    简介:Gradle的出现,是技术发展的必然,站在了Ant.maven等构建工具的肩膀上,使用了一种强大且具有表达性的基于Groovy的领域特定语言(DSL),使其拥有易用且灵活的方式去实现定制逻辑.方 ...

  8. 使用python比较两个文件的不同之处

    比较两个文件的不同之处用处还是比较大的,特别是比较两个版本的不同之处 [root@localhost python]# cat diftest.py #!/usr/bin/python import ...

  9. sofa graphql 2 rest api框架

    sofa 是一个出发点不一样的工具,提供了从graphql 2 rest 的处理,一般现有的框架都在 关注的是rest 2 graphql (大部分还是基于swagger.open api 标准进行设 ...

  10. gogs wekan 集成试用

    wekan 官方提供了一个集成gogs 的扩展,不是完全的自动化,需要结合cli,但是官方的cli 写的...(不是很全) 备注: 测试环境使用docker-compose 环境准备 docker-c ...