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...
MySQL如何更改数据库数据存储目录详解
前言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 mysqldata4:移动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文件,修改参数socketMySQL 5.5 版本# The following options will be passed to all MySQL clients[client]#password = your_passwordport = 3306socket = /u01/mysqldata/mysql/mysql.sock # Here follows entries for some specific programs # The MySQL server[mysqld]port = 3306socket = /u01/mysqldata/mysql/mysql.sockskip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 64sort_buffer_size = 512Knet_buffer_length = 8Kread_buffer_size = 256Kread_rnd_buffer_size = 512Kmyisam_sort_buffer_size = 8M6:修改启动脚本/etc/init.d/mysql将参数datadir修改为datadir=/u01/mysqldata/mysql/7:启动MySQL服务并验证MySQL数据库路径[root@DB-Server ~]# service mysql startStarting MySQL..[ OK ][root@DB-Server ~]# mysqladmin -u root -p variables | grep datadirEnter 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]# 总结2023-07-27
mengvlog 阅读 9 次 更新于 2025-07-20 11:58:25 我来答关注问题0
  • 话不多说了,一起来看看吧方法如下: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...

  • 更改Ubuntu下MySQL数据库存储位置的步骤如下:在 gedit中找到datadir这一行,将后面等于号之后的内容更改为/home/mysql然后保存退出。自Ubuntu 7.10开始,Ubuntu就开始使用一种安全软件叫做AppArmor。创建新数据库的命令为:CREATE DATABASE mysqldb,数据库文件夹在默认存储位置下生成。操作数据库前需停止数...

  •  benjaminz mysql数据库怎么更改数据存放路径

    在my.ini文件里可以设定数据文件的存放路径 将其从原来的目录移动到指定的位置;修改配置文件my.ini,也就是把socket和data的目录改到你移到的位置

  •  百度网友bd8aff7 如何更改mysql数据文件位置

    一.首先把mysql的服务先停掉。二.更改MySQL配置文件My.ini中的数据库存储主路径 打开MySQL默认的安装文件夹C:\Program Files\MySQL\MySQL Server 5.1中的my.ini文件,点击记事本顶部的“编辑”,“查找”,在查找内容中输入datadir后并点击“查找下一个”转到“Path to the database root数据库存储...

  •  不是永恒的自己 如何更改mysql 数据库的存储引擎

    mysql 5.5以前默认的引擎是myisam,5.5以后是innodb,引擎可以在创建表的时候指定,如下:Ceate table test (id int,name varchar(10))engine innodb;修改:alter table test type=innodb;如果想设置缺省引擎可以在配置文件的mysqld添加一行:default-storage-engine=INNODB;

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部