我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL中怎么更改数据库数据存储目录

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL中怎么更改数据库数据存储目录

MySQL中怎么更改数据库数据存储目录,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1:确认MySQL数据库存储目录

[root@DB-Server tmp]# mysqladmin -u root -p variables | grep datadir  Enter password:   | datadir | /var/lib/mysql/

2:关闭MySQL服务

在更改MySQL的数据目录前,必须关闭MySQL服务。

方式1:

[root@DB-Server ~]# service mysql status  MySQL running (9411)[ OK ]  [root@DB-Server ~]# service mysql stop  Shutting down MySQL..[ OK ]  [root@DB-Server ~]#

方式2:

[root@DB-Server ~]# /etc/rc.d/init.d/mysql status  MySQL running (8900)[ OK ]  [root@DB-Server ~]# /etc/rc.d/init.d/mysql stop  Shutting down MySQL..[ OK ]  [root@DB-Server ~]#

3:创建新的数据库存储目录

[root@DB-Server ~]# cd /u01  [root@DB-Server u01]# mkdir mysqldata

4:移动MySQL数据目录到新位置

[root@DB-Server ~]# mv /var/lib/mysql /u01/mysqldata/

5:修改配置文件my.cnf

并不是所有版本都包含有my.cnf这个配置文件,在MySQL 5.5版本,我就找不到my.cnf这个配置文件, 而有些MySQL版本该文件位于/usr/my.cnf,如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf中。命令如下:

MySQL中怎么更改数据库数据存储目录

[root@DB-Server mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

编辑/etc/my.cnf文件,修改参数socket

MySQL中怎么更改数据库数据存储目录

MySQL 5.5 版本

# The following options will be passed to all MySQL clients  [client]  #password       = your_password  port            = 3306  socket          = /u01/mysqldata/mysql/mysql.sock  # Here follows entries for some specific programs  # The MySQL server  [mysqld]  port            = 3306  socket          = /u01/mysqldata/mysql/mysql.sock  skip-external-locking  key_buffer_size = 16M  max_allowed_packet = 1M  table_open_cache = 64  sort_buffer_size = 512K  net_buffer_length = 8K  read_buffer_size = 256K  read_rnd_buffer_size = 512K  myisam_sort_buffer_size = 8M

MySQL中怎么更改数据库数据存储目录

6:修改启动脚本/etc/init.d/mysql

将参数datadir修改为datadir=/u01/mysqldata/mysql/

MySQL中怎么更改数据库数据存储目录

7:启动MySQL服务并验证MySQL数据库路径

[root@DB-Server ~]# service mysql start  Starting MySQL..[  OK  ]  [root@DB-Server ~]# mysqladmin -u root -p variables | grep datadir  Enter password:   | datadir        | /u01/mysqldata/mysql/

我的疑问:

1: 在修改数据库的存储目录前,/var/lib/mysql/目录下根本没有mysql.sock文件,安装上面配置后,就会生成mysql.sock文件。

关于mysql.sock文件,搜索了一下资料:mysql.sock是用于socket连接的文件。也就是只有你的守护进程启动起来这个文件才存在。但是你的mysql程序(这个程序是客户端,服务器端是mysqld)可以选择是否使用mysql.sock文件来连接(因为这个方法只适合在Unix主机上面连接本地的mysqld),对于非本地的任何类型的主机。那么这个文件是否一定需要的呢? 这个需要进一步了解清楚。

2:我在网上看有些网友总结的修改MySQL数据路径,有些需要给新建的目录的权限做一些处理,而有些有不用对目录权限进行授权,我没有处理,也没有什么问题。到底要不要对新的数据库目录授权呢?

3:我在MySQL_5.6.20这个版本测试时,不修改my.cnf,只修改启动脚本/etc/init.d/mysql,也完全没有啥问题。也没有myssql.sock文件生成。

4:注意如果没有禁用selinux, 修改MySQL的数据路径后启动MySQL服务会遇到一些错误。关于这个的解释是后台服务都需要有对相应目录的对应权限,而 mysql 的默认路径/var/lib/mysql 已经添加了相应的策略,修改路径后由于没有相应的策略,导致后台进程读取文件被selinux阻止,从而出现权限错误。 所以要么关闭Selinux或修改文件安全上下文。

[root@DB-Server mysql]# /etc/init.d/mysql start  Starting MySQL....The server quit without updating PID file (/u01/mysqldata/mysql//DB-Server.localdomain.pid).[FAILED]  [root@DB-Server mysql]#   [root@DB-Server mysql]# chcon -R -t mysqld_db_t /u01/mysqldata/mysql/  [root@DB-Server mysql]# /etc/init.d/mysql start  Starting MySQL.[ OK ]  [root@DB-Server mysql]#

关于MySQL中怎么更改数据库数据存储目录问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL中怎么更改数据库数据存储目录

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CentOS 7上更改MySQL数据库存储目录浅析

个人之前总结过两篇文章“MySQL更改数据库数据存储目录”和“Ubuntu上更改MySQL数据库数据存储目录”,都是在工作中遇到相关案例后的一个简单总结。当初的经验不足,认知有限,所以现在来看来,当初的博文确实显得浅析和不够全面,这个也没有办法,当时有些环境或
CentOS 7上更改MySQL数据库存储目录浅析
2016-12-10

MySQL怎么更改数据库名字

要更改MySQL数据库的名字,可以使用RENAME DATABASE语句。以下是更改数据库名字的步骤:首先,确保没有任何人正在访问或使用要更改的数据库。使用以下语法来更改数据库名字:RENAME DATABASE old_database_
MySQL怎么更改数据库名字
2024-04-09

if在数据库mysql存储中怎么判断

这篇文章给大家分享的是有关if在数据库mysql存储中怎么判断的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.语法:IF 条件判断 THEN 结果 [ELSEIF 条件判断 THEN 结果] ...
2023-06-14

怎么修改mysql数据的存储路径

在MySQL中,你可以通过修改配置文件来更改数据的存储路径。以下是修改MySQL数据存储路径的步骤:找到MySQL的配置文件。在大多数情况下,MySQL的配置文件名为my.cnf,可以在MySQL的安装目录下找到。打开my.cnf文件,在文
怎么修改mysql数据的存储路径
2024-04-09

mysql数据库怎么更新数据库

mysql 中更新数据使用 update 语句。步骤包括:确定要更新的表和列。使用 set 子句设置新值。使用 where 子句指定要更新的行的条件。如何在 MySQL 数据库中更新数据更新 MySQL 数据库中的数据需要使用 UPDAT
mysql数据库怎么更新数据库
2024-08-05

更改MYSQL数据存储路径的方式是什么

今天就跟大家聊聊有关更改MYSQL数据存储路径的方式是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。其实这是一个关系型数据库管理系统,同时也是现如今关系型数据库管理系统之一,特点
2023-06-07

Centos7.3如何更改mariadb数据库的存储路径

这篇文章主要介绍“Centos7.3如何更改mariadb数据库的存储路径”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Centos7.3如何更改mariadb数据库的存储路径”文章能帮助大家解决问
2023-06-27

MySQL数据库怎么实现存储时间

这篇文章将为大家详细讲解有关MySQL数据库怎么实现存储时间,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.切记不要用字符串存储日期字符串占用的空间更大!字符串存储的日期比较效率比较低(逐个字符进行比对
2023-06-29

编程热搜

目录