zoukankan      html  css  js  c++  java
  • MySQL数据目录更改及相关问题解决方案

    步骤相关

    1、停掉MySQL服务
    service mysql stop

    2、把旧的数据目录/var/lib/mysql备份到新的数据目录/data/mysql
    cp /var/lib/mysql /data -R

    3、给mysql组的mysql用户赋予新的数据目录的权限
    chown -R mysql:mysql /data/mysql

    4、修改my.cnf
    datadir=/var/lib/mysql,改为datadir=/data/mysql

    5、如果mysql事先为手动安装,还需修改MySQL启动脚本/etc/init.d/mysql
    datadir=/data/mysql

    6、重启MySQL服务
    service mysql restart


    问题相关

    数据迁移后,服务启动失败,报如下错误

    The server quit without updating PID file
    

    原因:可能datadir目录修改或其他原因,mysql用户没有PID或其他相关文件的权限
    方案:相关目录执行 "chown -R mysql:mysql /data/mysql",然后重启服务。

    原因:可能已存在mysql进程
    方案:执行"ps -ef|grep mysqld",用"kill -9 进程号"杀死已经发现的进程,然后重启服务。

    原因:可能第二次重装mysql,残余数据影响了服务启动
    方案:去mysql数据目录/data看看,如果存在mysql-bin.index,先备份再删除试试。或者用"find / -name 'mysql'"查找残余数据,然后删除。

    原因:selinux问题,如果是centos系统,可能会默认开启selinux
    方案:编辑 /etc/selinux/config,把 SELINUX=enforcing 改为 SELINUX=disabled ,然后重启服务。

    原因:skip-federated字段问题
    方案:检查 my.cnf 文件是否有没被注释掉的 skip-federated 字段,如果有就注释掉。

    原因:其他未知错误
    方案:在 my.cnf 配置错误日志,log-error=/data/mysql/mysqld.log,再次重启,如果失败查看相关日志。

  • 相关阅读:
    sqlserver 配置管理器中无法启动sqlserver服务
    9.4笔记
    ASP.NET 正则表达式验证
    ASP.NET之OnClientClick 事件
    ASP.NET之js 根据textbox变化刷新相关数据
    SQL
    leetcode:Roman to Integer(罗马数字转化为罗马数字)
    leetcode:Integer to Roman(整数转化为罗马数字)
    leetcode:Palindrome Number
    leetcode:String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/wangxin37/p/6398752.html
Copyright © 2011-2022 走看看