随着mysql数据库存储的数据逐渐变大,已经将原来的存储数据的空间占满了,导致mysql已经链接不上了。因此,必须要给存放的数据换个地方了。下面是操作过程中的一些步骤。记下来,以后日后查看。

1.修改mysql数据存放的目录

要修改两个地方,其一是修改/etc/my.cnf文件中的datadir。默认情况下:

datadir=/var/lib/mysql

因为我的/data/目录比较大,所以将其改为:

datadir=/data/mysql/

还要修改/etc/init.d/mysqld文件,将datadir=”$result”改为:

datadir=”/data/mysql”

2.停止mysql服务

service mysql stop

3.创建新的数据存放目录

mkdir /data/mysql

4.将数据移动到新的数据库存放目录里面

mv /usr/local/mysql/data/* /data/mysql

这里补充一点儿知识,innodb引擎和myisam引擎的数据文件不一样。

针对myisam引擎, 数据文件以”*.frm”,”*.myd”,”*.myi”三个文件存储于”/var/lib/mysql”目录下的对应数据库文件夹中。直接将这些文件移动到新的数据存放目录里面,就可以。

针对innodb引擎,数据则存储在”$innodb_data_home_dir” 的ibdata1文件中(一般情况),结构文件存在于table_name.frm中。

5.修改mysql数据库目录权限以及配置文件

chown mysql:mysql -r /data/mysql/

6.修改socket

在两个地方修改socket,/etc/my.cnf

socket=/data/mysql/mysql.sock

创建一个连接文件到/var/lib/mysql/mysql.sock

ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock

7.重启mysql服务

执行

service mysql restart

开始对数据库进行读写操作,发现有这样的问题:

读写:

error 1146 (42s02): table ** doesn't exist

创建表:

error 1005 (hy000): can't create table ‘runoob_tbl' (errno: 13)

解决办法:

在/data/mysql目录下,删掉ib_logfile*文件,这样innodb引擎的表就正常了。

再执行

mysql> repair table ***;

对于数据量比较大表,这个过程可能会比较慢。执行完成后,myisam引擎的表也正常了。

mysql相关专题,需要的朋友可以参考下

以上所述是小编给大家介绍的mysql 5.7更改数据库的数据存储位置的解决方法,希望对大家有所帮助

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

mysql5.7更改数据库存储位置_mysql 5.7更改数据库的数据存储位置的解决方法相关推荐

  1. 拥抱时序数据库,构筑IoT时代下智慧康养数据存储底座

    摘要:在HDZ城市行广州站中,来自华为云华为云数据库创新Lab向宇从时序数据库的技术角度,解读一下华为云时序数据库GaussDB(for Influx)如何应用在智慧健康养老行业. 本文分享自华为云社 ...

  2. mysql 闪回_MySQL数据误删除的快速解决方法(MySQL闪回工具)

    概述 Binlog2sql是一个Python开发开源的MySQL Binlog解析工具,能够将Binlog解析为原始的SQL,也支持将Binlog解析为回滚的SQL,去除主键的INSERT SQL,是 ...

  3. 12 | 存储优化(上):常见的数据存储方法有哪些?

    通过专栏前面我讲的 I/O 优化基础知识,相信你肯定了解了文件系统和磁盘的一些机制,以及不同 I/O 方式的使用场景以及优缺点,并且可以掌握如何在线上监控 I/O 操作. 万丈高楼平地起,在理解并掌握 ...

  4. MySQL5.7报错[ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock的解决方法

    MySQL5.7报错[ERROR] Unix socket lock file is empty /tmp/mysql.sock.lock的解决方法 参考文章: (1)MySQL5.7报错[ERROR ...

  5. mysql支持事务的存储引擎_MySQL基础(三)【MySQL事务与存储引擎】

    3.1-数据库事务 什么是事务 一系列有序的数据库操作: 要么全部成功 要么全部回退到操作前的状态 中间状态对其他连接不可见 事务的基本操作: 基本操作 说明 start transaction 开始 ...

  6. 查看mysql数据库的主机_MySQL查看或显示数据库(SHOW DATABASES语句)

    数据库可以看作是一个专门存储数据对象的容器,每一个数据库都有唯一的名称,并且数据库的名称都是有实际意义的,这样就可以清晰的看出每个数据库用来存放什么数据.在 MySQL 数据库中存在系统数据库和自定义 ...

  7. linux下mysql数据库目录迁移_mysql实现linux下数据库目录迁移

    1.查看mysql安装目录 从目录etc/my.cnf中查看安装目录 2.进入mysql目录,停止mysql服务cd usr/local/mysql service mysql stop (相关文章教 ...

  8. linux启动sql server数据库,SQL Server数据库启动过程详解及启动不起来的问题分析及解决方法...

    第五步.启动系统数据库model model系统数据库同样也是SQL Server启动过程中用到的一个非常关键的数据库,如果这个库损坏,SQL Server启动也会失败,关于model数据不能启动的原 ...

  9. 以下用于数据存储领域的python第三方库是-Python数据存储及表示

    [http://naotu.baidu.com/file/15cbc506e3da5e640a40659058d5be24?token=873f2ab3461d8f9a](http://naotu.b ...

最新文章

  1. java注解详解_Java注解详解
  2. kubernetes (1)基本概念
  3. WebService它CXF注释错误(两)
  4. 捕获SocketConnection组件连接异常的几个好贴
  5. ubuntu之间传文件
  6. 数据湖探索DLI新功能:基于openLooKeng的交互式分析
  7. 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接---个人整理
  8. 非标机械设计该怎么做,老机械工程师告诉你
  9. 第22节 软件工程知识
  10. 刷新了dns后无法访问到mysql_高效刷新DNS缓存 解决网页无法访问
  11. Pygame教程系列四:播放音频篇
  12. 线性系统理论(不断更新中)
  13. ps如何设置裁剪后的背景颜色
  14. erdas裁剪影像_ERDAS遥感图像的分幅裁剪
  15. linux mud 游戏,150919神奇的mud
  16. windows下qt程序报错“the inferior stopped because it triggered an exception”
  17. 使用VirtualBox创建虚拟机
  18. VB.NET获取dpi的方法
  19. 如何用C++ 写Python模块扩展(一)
  20. 高晓松的《晓说》很棒,这脑袋怎么长得?

热门文章

  1. MySql的like语句中的通配符:百分号、下划线和escape
  2. 除了富二代 据说这9种人最有富豪潜质
  3. LA3485二分+求解积分方程+辛普森算法计算积分
  4. C#之数据库编程:从入门到精通
  5. 引用和使用引用传递参数《一》
  6. Gstreamer之跨平台element(十六)
  7. pthread_join()函数理解实验
  8. 图像处理自学(五):CAMERA驱动软件硬件架构V4L2
  9. 开机时出现:reboot and select proper boot 、关于IDE与AHCI
  10. python小明爬楼梯_爬楼梯(Python and C++解法)