0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

更改MySQL数据库的数据存储目录实践过程的操作步骤

电子工程师 来源:未知 作者:李倩 2018-11-06 10:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MySQL数据库默认的数据库文件位于/var/lib/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中。命令如下:

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

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

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

将参数datadir修改为datadir=/u01/mysqldata/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]#

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据存储
    +关注

    关注

    5

    文章

    1037

    浏览量

    53007
  • 数据库
    +关注

    关注

    7

    文章

    4083

    浏览量

    68538
  • MySQL
    +关注

    关注

    1

    文章

    931

    浏览量

    29748

原文标题:MySQL 更改数据库数据存储目录

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    mysql数据库设计步骤

    mysql数据库设计和优化
    发表于 05-13 11:00

    MySQL数据库使用

    关于MySQL数据库的简单操作
    发表于 10-24 14:32

    Mysql数据库的基本操作

    Mysql数据库入门-基本操作
    发表于 06-08 17:18

    mysql数据库存储路径怎么更改

    大家知道mysql数据库存储路径怎么更改吗?在初次安装mysql 的时候将数据库目录安装在了系统
    的头像 发表于 10-18 10:23 7301次阅读

    Ubuntu下面更改MySQL数据库数据存储目录遇到的问题

    我将MySQL数据库数据存储目录从/var/lib/mysql 切换到/
    的头像 发表于 11-08 14:22 3579次阅读
    Ubuntu下面<b class='flag-5'>更改</b><b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>存储</b><b class='flag-5'>目录</b>遇到的问题

    数据库教程之PHP访问MySQL数据库的理论知识详细说明

    本文档的主要内容详细介绍的是数据库教程之PHP访问MySQL数据库的理论知识详细说明包括了:1.phpMyAdmin的安装和使用,2.PHP操作数据库,3.
    发表于 06-17 17:06 15次下载

    LabVIEW操作MySQL数据库编程实例

    LabVIEW操作MySQL数据库编程实例
    发表于 10-13 15:05 59次下载

    华为云数据库-RDS for MySQL数据库

    华为云数据库-RDS for MySQL数据库 华为云数据库作为华为云的一款数据库产品,它主要是以MyS
    的头像 发表于 10-27 11:06 2471次阅读

    MySQL数据库管理与应用

    讨论MySQL数据库的管理和应用。 管理MySQL数据库 在管理MySQL数据库之前,我们需要了
    的头像 发表于 08-28 17:15 1941次阅读

    数据库mysql基本增删改查

    MySQL是一种开源的关系型数据库管理系统,常用于Web应用程序的数据存储和管理。通过使用MySQL,用户可以进行
    的头像 发表于 11-16 16:35 2490次阅读

    MySQL数据库基础知识

    的基础知识,包括其架构、数据类型、表操作、查询语句和数据导入导出等方面。 MySQL 数据库架构 MyS
    的头像 发表于 11-21 11:09 2001次阅读

    mysql数据库基础命令

    MySQL是一个流行的关系型数据库管理系统,经常用于存储、管理和操作数据。在本文中,我们将详细介绍MySQL的基础命令,并提供与每个命令相关
    的头像 发表于 12-06 10:56 1547次阅读

    数据库数据恢复—未开启binlog的Mysql数据库数据恢复案例

    mysql数据库数据恢复环境: 本地服务器,windows server操作系统 ,部署有mysql单实例,
    的头像 发表于 12-08 14:18 2189次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—未开启binlog的<b class='flag-5'>Mysql</b><b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复案例

    MySQL数据库的安装

    MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】
    的头像 发表于 01-14 11:25 1242次阅读
    <b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>的安装

    MySQL数据库是什么

    MySQL数据库是一种 开源的关系型数据库管理系统(RDBMS) ,由瑞典MySQL AB公司开发,后被Oracle公司收购。它通过结构化查询语言(SQL)进行
    的头像 发表于 05-23 09:18 1444次阅读