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




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

Mysql中如何实现某字段数据自动加1
DROP TABLE IF EXISTS `jk`.`jkrecord`;CREATE TABLE `jk`.`jkrecord` (`user1` varchar(45) NOT NULL,`user2` varchar(45) NOT NULL,`user3` varchar(45) NOT NULL,`day` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',`number` int(10) unsigned NOT NULL AUTO_INCREMENT,PR...

mysql 更改数据库字符编码的方法
mysql如何更改数据库字符编码?借助客户端工具很容易就可以更改了,下面来看一下。1、打开navicat客户端工具,在左边找到要更改的数据库。2、右键点击这个数据库,在菜单上点击数据库属性选项。3、在弹出的属性窗口上,点击默认字符集下的下拉框。4、在弹出的下拉选项里,点击选中要使用的字符集就行了,...

Mysql中如何实现某字段数据自动加1
为了理解这个功能的好处以及如何使用它,我们将快速查看它背后的概念以及它首先存在的动机。 介绍 MGR 允许 MySQL 用户轻松管理高可用组,并完成保证系统高可用所需的所有特征,例如容错或故障检测。 MGR 中提供的基本保证之一是该组呈现给用户的是一个不可分割的整体,这意味着一旦成员加入或离开该组,该更改将立即被其他...

如何修改数据库用户名如何修改数据库用户名密码
Mysql#本地登录,默认用户root,空密码,用户root@127.0.0.1 Mysql-uroot-p1234#本地登录,指定用户名和密码,用户为root@127.0.0.1 Mysql-urootP端口号-h192.168.31.95-p密码#Telnet,用户为root@192.168.31.95 考试 Psauxgrepmysqld#查看流程 Netstat-angrep3306#观察端口 yoga怎么更改账户...

NavicatforMySQL数据库如何设置
NavicatforMySQL是一套专为MySQL设计的强大数据库管理及开发工具,许多用户在安装之后不会将其连接到现有的数据库,因此小编特出一篇关于NavicatforMySQL如何连接数据库的教程,帮助新朋友接通数据库。步骤一启动软件。将软件安装完成后,双击桌面上的快捷图标启动NavicatforMySQL,启动界面如下图所示。步骤二...

如何更改MYSQL默认数据库的目录?
将datadir = \/var\/lib\/mysql 改为 datadir = \/data\/mysqldb\/mysql 另外由于当前my.cnf 中的socket = \/var\/run\/mysqld\/mysqld.sock(而并非像网上所说的sock = \/var\/lib\/mysql\/mysql.sock),即socket的位置并不在数据库文件所在的位置,因此可以不做类似网上其他网页所说的,要使用以下的命令...

如何更改mysql数据库引擎
修改MySQL数据库引擎步骤如下 第一:修改my.ini,在[mysqld]下加上:default-storage-engine=引擎名称 其中的等号后面是要指定的数据库引擎名称。第二:用sql语句修改已经建成表的引擎:alter table tableName type=InnoDB --type语法在4.X版本下存在 alter table tableName ENGINE=InnoDB --5....

如何修改MySql数据库的用户名和密码?
6、其中mysql库就是保存用户名的地方。输入 use mysql; 选择mysql数据库。7、show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。8、输入select user,host,password from user; 来查看账户信息。9、更改root密码,输入update user set password=password('...

如何更改navicat for mysql的工作空间
对 MySQL 表数据进行快速的检查,反馈检查结果。检查表又分为常规、快速、快、已改变、扩展四项功能,如下图所示:优化表:点击“优化”按钮,快速更新数据,已达到优化的效果,如下图所示:修复表:对表数据进行一定的修复,包括快速和扩展选项,如下图所示:取得行的总数:计算该表数据总的行数,

洛南县17762432788: 如何更改mysql数据存放路径 -
洪贾健脾: MySQL默认的数据文件存储目录为/var/lib/mysql.假如要把MySQL目录移到/home/data下需要进行下面几步:1、home目录下建立data目录 cd /home mkdir data2、把MySQL服务进程停掉 mysqladmin -u root -p shutdown3、把/var/lib/mysql整个目...

洛南县17762432788: mysql如何修改数据库目录 -
洪贾健脾: mysql中修改数据库目录方法: 操作步骤: 1.检查mysql数据库存放目录 mysql -u root -prootadmin #进入数据库 show variables like '%dir%'; #查看sql存储路径 (查看datadir 那一行所指的路径) quit;2.停止mysql服务 service mysqld ...

洛南县17762432788: 如何设置MYSQL的数据存储目录 -
洪贾健脾: 首先把mysql的服务先停掉,更改MySQL配置文件My.ini中的数据库存储主路径,将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径,接下来重启搞定 一.首先把mysql的服务先停掉. 二.更改MySQL配置文件My.ini中的数据...

洛南县17762432788: 怎么修改默认MYSQL数据库data存放位置? -
洪贾健脾: 一、停止MySQL 开始-cmd net stop mysql5 二、复制原来数据库目录到新目录1、复制C:\ProgramData\MySQL\MySQL Server 5.5\中的data目录到 D:\Program Files\MySQL\MySQL Server 5.5\目录下(自建的目录) 三,修改MySQL配置文件1、...

洛南县17762432788: mysql数据库怎么更改数据存放路径 -
洪贾健脾: 在my.ini文件里可以设定数据文件的存放路径 将其从原来的目录移动到指定的位置;修改配置文件my.ini,也就是把socket和data的目录改到你移到的位置

洛南县17762432788: 如何修改mysql数据文件存储位置 -
洪贾健脾: 在linux主机上的默认存储位置为:/var/lib/mysql/下,如果想更换mysql的数据文件的存储位置,则 freebsd下:#ds/usr/local/libexec/mysqldstop(停止mysql)#dsmkdir/other/db(建立新的数据文件目录,也可以直接移动过来)#dsmv/var/db/mysql/...

洛南县17762432788: 如何查看和更改mysql数据库文件存放位置 -
洪贾健脾: 查看my.ini或my.conf文件,从中查找datadir设置,可以得到mysql数据库文件存放位置 关于修改,一般步骤如下: 一.首先把mysql的服务先停掉. 二.更改MySQL配置文件My.ini中的数据库存储主路径 三.将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径 将原文件夹中的所有文件和文件夹拷贝到你新建的文件夹目录下. 四.重启MySQL服务 五.验证更改数据库存储主路径的操作是否成功

洛南县17762432788: 如何更改MYSQL默认数据库的目录? -
洪贾健脾: 1.停止数据库服务:使用/etc/init.d/mysql stop 或者 stop mysql2. 在目标位置(/data)创建数据库文件的目录(如/mysqldb),并复制(如果不再使用默认的位置,则可以直接mv原先数据库文件到新目录下)原先的数据库文件目录到该目录下:...

洛南县17762432788: 如何更改MySQL数据库的默认目录位置 -
洪贾健脾: 在配置文件中 【mysqld】选项下面更改两个配置参数,分别是:basedir=你的mysql目录路径 datadir=你的mysql 数据目录路径

洛南县17762432788: 如何修改mysql的数据文件位置 -
洪贾健脾: 于是才发现/var/lib/mysql所在的分区资源严重不足,己经用到80%了.在网上查了下资料,有两种方法可以实现:[@more@]本来只是想做一个phpbb的测试站点,但无奈需要它真正的上架运作了.于是才发现/var/lib/mysql所在的分区资源严重不...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网