首页 > 编程知识 正文

mysql数据库存储路径迁移(更改mysql数据库存储位置)

时间:2023-12-03 20:09:11 阅读:311840 作者:SZPI

本文目录一览:

  • 1、Windows下如何更改MySQL数据库的存储位置
  • 2、win10 MySQL更换储存路径
  • 3、MySQL 数据文件迁移至新硬盘
  • 4、linux环境下通过软链接变更mysql数据存储路径

Windows下如何更改MySQL数据库的存储位置

1、在mysql安装完成后,要修改数据库存储的位置,比如从安装目录下的E:Program Files (x86)MySQLdata文件夹转移到D:mydata文件夹。

2、在D:下新建mydata文件夹

3、cmd进入dos窗口,输入net stop mysql停止MySQL服务,将C:ProgramDataMySQLMySQL Server 5.5data(其中ProgramData为隐藏文件夹)下的文件夹和文件一起拷贝到D:mydata文件夹下

4、在安装目录下找到my.ini文件,找到:

#Path to the database root

datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"

将datadir的值更改为datadir="D:/mydata/"

5、保存后,cmd进入dos窗口,输入net start mysql重新启动mySQL服务即可。

win10 MySQL更换储存路径

    近几天在抓Wiki的数据,爬虫没控制好导致数据量过大,原数据储存位置在C盘差点爆了,在网上查询了更换存储路径的方式如下:

1. 在任务管理器-服务里找到MySQL的启动项-右键点属性,查看配置文件的路径,我的原有路径为:C:/ProgramData/MySQL/MySQL Server 8.0/my.ini

2. 在服务中停止MySQL服务,查看my.ini文件中datadir项,进入该目录下将data文件夹copy至新设定的文件目录下,我挪到了D:/MySQLData。因为涉及数据最好是复制,等复制完毕再删除原数据。 同时复制一份my.ini文件至该目录下,并将my.ini文件中datadir更新至你新设定的路径D:/MySQLData/data

3. win + R打开运行窗口,regedit打开注册表,在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices路径下找到MySQL启动项,名字跟服务中一致,双击ImagePath,打开弹窗,把数值数据中my.ini的路径改为D:MySQLDatamy.ini,确定。

4. 到服务中启动MySQL,能正常启动并且能正常连接则迁移完毕。

MySQL 数据文件迁移至新硬盘

[mysqld]

# * Basic Settings

user            = mysql

pid-file        = /var/run/mysqld/mysqld.pid

socket          = /var/run/mysqld/mysqld.sock

port            = 3306

basedir        = /usr

datadir        = /data/c/mysql 修改

#datadir        =/var/lib/mysql

这个原因有二,其中任意的一个原因都会造成你被系统告知这个warning。如果你不是一个专业的linux系统安全工程师,或者你只是个PHP程序员,并没有对系统安全有深入的研究,你就不会太容易找到它的答案。

第一,selinux,记得当年念书时,字符界面安装redhat(很古老的操作系统么。。。)的时候,有这么一个选项,通常大家都听取前辈的建议,改变默认值以不安装它。但如果你恰好要操作的这台机器开着selinux,它确实能够使你的mysql无法在新目标位置进行mysql_install_db的操作,并爆出标题所示的警告。一个简单的解决办法是使用命令暂时关闭selinux,以便让你的操作可以继续下去 setenforce 0 但最好使用一个永久方法,以便在重启后继续不要这货。 修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启或等待下次重启。

第二,apparmor,这个坑爹货和selinux一样的坑爹,它也对mysql所能使用的目录权限做了限制 在 /etc/apparmor.d/usr.sbin.mysqld 这个文件中,有这两行,规定了mysql使用的数据文件路径权限

/var/lib/mysql/ r, /var/lib/mysql/** rwk,

你一定看到了,/var/lib/mysql/就是之前mysql安装的数据文件默认路径,apparmor控制这里mysqld可以使用的目录的权限 我想把数据文件移动到/data/mysql下,那么为了使mysqld可以使用/data/mysql这个目录,照上面那两条,增加下面这两条就可以了

/data/mysql/ r, /data/mysql/** rwk,

  /var/lib/mysql/ r,

  /var/lib/mysql/** rwk,

  /datc/c/mysql/ r,

  /data/c/mysql/** rwk,

  /var/lib/mysql-files/ r,

  /var/lib/mysql-files/** rwk,

  /data/c/mysql-files/ r,

  /data/c/mysql-files/** rwk,

  /var/lib/mysql-keyring/ r,

  /var/lib/mysql-keyring/** rwk,

  /data/c/mysql-keyring/ r,

  /data/c/mysql-keyring/** rwk,

apparmor,/etc/inid.d/apparmor restart////////////     /etc/init.d/apparmor restart

linux环境下通过软链接变更mysql数据存储路径

想要改变mysql数据存储路径的想法最初是在生产服务器上mysql的数据放到了系统盘上,导致系统盘满额,没有足够的内存交换空间而死机。

将mysql数据存储到其他目录下有两种方法,方法一修改my.cnf配置文件,不过经过笔者通过网上的配置资料尝试总是不成功,环境是在centos7下操作的。后来想到一个简单的方法,通过linux的软链接将实际数据放到另外的目录里面就可以了。

操作系统是centos7

mysql是通过二进制包里面的rpm方式安装的。相当于全自动了。

先关闭mysql

默认情况下,rpm安装好的mysql会将数据放置在 /var/lib/mysql 目录当中,我们像将数据迁移到/mnt/data目录当中在terminal当中输入:

mv命令会直接将 /var/lib/mysql 文件夹直接剪切到 /mnt/data 目录当中。

这时我们需要回到/var/lib目录当中,

在这个目录当中建立软链接。

软链接相当于windows里面创建目录快捷方式是一样的,这个时候你应该可以看到mysql文件夹回到了 /var/lib 目录当中,要进去查看一下mysql的路径是否和my.cnf一致。

这时候我们再启动mysql

以上我们就将数据迁移到其他目录下,并且还没有修改和变更my.cnf文件。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。