zoukankan      html  css  js  c++  java
  • ubuntu下修改mysql默认data路径

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

     
    今天在转移的时候走了不少弯路,最后经过反复尝试后得到了比较精简的步骤,提炼如下。
     
    设置新data路径(假设新路径为/data/mysql)这里需要说明的就是,最开始我图省事使用了mv来移动,随后发现在设置完路径后mysql无法访问。因此为了保险起见还是按照这里的步骤来吧。
     
    建立新的路径
    sudo mkdir -p /data/mysql
    复制数据
    sudo cp -a /var/lib/mysql/* /data/mysql
    修改文件夹权限
    sudo chown -R mysql:mysql /data/mysql
    修改配置文件
    sudo vim /etc/mysql/mysql.conf.d/mysqld.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
    重启服务(必须重启才能生效对apparmor的修改)
    /etc/init.d/apparmor restart
    /etc/init.d/mysql restart
     
    这时候再访问就会发现已经修改成功了,数据的读写都经由新路径实现。
  • 相关阅读:
    HDFS 常用命令
    CentOS6.5和RedHat6.5下以rpm方式安装mysql-5.6.20
    RedHat安装yum+配置国内yum源
    nginx 一般配置实例 静态页面
    PHP计划任务之关闭浏览器后仍然继续执行的函数 ignore_user_abort
    php函数——『解析 xml数据』
    基于php-fpm的配置详解[转载]
    解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误
    nginx的优化
    Nginx fastcgi_param解释
  • 原文地址:https://www.cnblogs.com/xiangxisheng/p/6916856.html
Copyright © 2011-2022 走看看