问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL如何更改数据库数据存储目录详解

发布网友 发布时间:2023-08-01 07:02

我来回答

1个回答

热心网友 时间:2024-10-26 20:58



前言

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

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


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]#
总结

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 想了解最知名的绿光激光灯品牌是哪种? 华金教育学管师怎么样 秦皇岛锐思教育学管师工作好不好 fox激光灯质量怎么样 熊猫兔的眼睛为什么不是红色的? ...的是黑色的..为什么啊?小白兔的眼睛不都是红色的吗?大神们帮帮忙... 国标是否只适用三类医疗器械? 请问医疗器械产品分类标准是什么? 怎么能让电脑识别nvme固态作为启动盘 从徐州妇幼保健院到合群新村最近走哪条路 徐州市从合群新村到新城区公交车怎么做 徐州市合群新村到徐州市乔家湖村有多远 徐州合群合群新村到育才驾照坐几路公交车 客人给我们写的是SHA,我们结汇的时候却是全部自己承担。 合同各段落序号怎样的格式,如第一条:是否空两个格? 1、是否再空两个格... 大家说,合同书第一条、第二条……后面是冒号还是空着两格?? 俯拾皆是有什么意思?俯拾皆是的读音是什么 奔驰重卡对比德国曼重卡哪个好 国内手机刷谷歌系统有什么影响 ...再选择合适的成语填空-|||-众志成 () 声色 () () 舍生 () 死-||... mysql如何修改数据库目录_MySQL 天津滨海新区杨北物流园到香山道怎么走? 从天津十一经路到塘沽杨北物流园坐什么车? ...说我胎儿头偏小两周要住院打营养针,真的是为了赚钱就吓唬你。_百... 怎么自然地拉直头发 10道求最小公倍数的题. 出10道做最小公倍数的练习题 小学六年级数学,关于最小公倍数的题目,很急,求高手帮忙!!! 日本姓氏月见山的罗马拼音 求比较诗意的日本姓氏 多肉植物辦叶后出现枝干怎么养? 吃热气的东西脸上很容易长痘痘,头上有时也会长,为什么呢 公积金租房提取几个月发一次 弹断一千根琴弦的故事英文故事在哪本高中英语书 厚街白濠的历史事件 广州市天河区小新塘村什么时候拆迁?什么时候能建起来? 智慧树知到《大学英语写作(齐齐哈尔医学院)》2023章节测试答案_百度... 水泥稳定碎石产生裂缝的原因是什么? 小米qin2通话信号差 榴莲怎么榴莲能放冰箱吗