十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在linux主机上的默认存储位置为:/var/lib/mysql/下,
专注于为中小企业提供成都网站制作、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业柯桥免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
如果想更换mysql的数据文件的存储位置,则
freebsd下:
#ds/usr/local/libexec/mysqldstop(停止mysql)
#dsmkdir/other/db(建立新的数据文件目录,也可以直接移动过来)
#dsmv/var/db/mysql/other/db(移动数据文件)
#dsln-s/other/db/mysql/var/db/mysql(建立数据文件的软链接)
#ds/usr/local/libexec/mysqldstart(启动mysql)ok!linux下:(linux下经过测试,可以不用停止musql而直接操作,不过如果是经常更新的数据库还是先停止的好,停止的方法在此就不介绍了!)
#mkdir/other/db(建立新的数据文件目录,也可以直接移动过来)
#mv/var/db/mysql/other/db(移动数据文件)
#ln-s/other/db/mysql/var/db/mysql(建立数据文件的软链接)
如果您的操作用户不是mysql,例如root用户操作,那可能mysql对新建立的数据文件夹没有读取权限,还有chown,或者是chgrp,chmod才可以!
一.首先把mysql的服务先停掉。
二.更改MySQL配置文件My.ini中的数据库存储主路径
打开MySQL默认的安装文件夹C:\Program Files\MySQL\MySQL Server 5.1中的my.ini文件,点击记事本顶部的“编辑”,“查找”,在查找内容中输入datadir后并点击“查找下一个”转到“Path to the database root数据库存储主路径”参数设置,找到datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/"即是默认的数据库存储主路径设置,现将它改到C:\mysql\data(你希望的)文件夹,正确的设置是datadir="C:/mysql/data/"。
更改完成后点击菜单栏的“文件”,再点击“保存”。
三.将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径
将C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/文件夹中的所有文件和文件夹拷贝到你新建的文件夹目录下。
四.重启MySQL服务
五.验证更改数据库存储主路径的操作是否成功
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把MySQL目录移到/home/data下需要进行下面几步:\x0d\x0a1、home目录下建立data目录\x0d\x0acd /home\x0d\x0amkdir data\x0d\x0a2、把MySQL服务进程停掉\x0d\x0amysqladmin -u root -p shutdown\x0d\x0a3、把/var/lib/mysql整个目录移到/home/data\x0d\x0amv /var/lib/mysql /home/data/\x0d\x0a这样就把MySQL的数据文件移动到了/home/data/mysql下。\x0d\x0a4、找到my.cnf配置文件\x0d\x0a如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:\x0d\x0a\x0d\x0a[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf\x0d\x0a\x0d\x0a5、编辑MySQL的配置文件/etc/my.cnf\x0d\x0a为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock。操作如下:\x0d\x0a\x0d\x0avi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)\x0d\x0a# The MySQL server\x0d\x0a[mysqld]\x0d\x0aport = 3306\x0d\x0a#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)\x0d\x0asocket = /home/data/mysql/mysql.sock (加上此行) \x0d\x0a\x0d\x0a6、修改MySQL启动脚本/etc/init.d/mysql\x0d\x0a最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。\x0d\x0a\x0d\x0a[root@test1 etc]# vi /etc/init.d/mysql\x0d\x0a#datadir=/var/lib/mysql(注释此行)\x0d\x0adatadir=/home/data/mysql (加上此行) \x0d\x0a\x0d\x0a7、重新启动MySQL服务\x0d\x0a\x0d\x0a/etc/init.d/mysql start\x0d\x0a\x0d\x0a或用reboot命令重启Linux\x0d\x0a如果工作正常移动就成功了,否则对照前面的7步再检查一下。\x0d\x0a还要注意目录的属主和权限。
4.4.4修改字段排列位置
语句格式:ALTER TABLE 表名 MODIFY 字段名 数据类型FIRST|AFTER 字段名2;
此语句从格式上看比上面的修改字段数据类型语句多了一个参数,即在上面的修改字段数据类型语句的最后增加了一个字段位置参数,这个字段位置参数可以选择“FIRST”或“AFTER 字段名2”中的一个。当选择“FIRST”参数时表示将指定字段调至第一个字段;当选择“AFTER 字段名2”时表示将指定字段调至“字段名2”所指字段的后面。
下面截图中的“ALTER TABLE”语句将t_dept表中loc字段的位置由原来第三的位置调至了第一。
假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd /home
mkdir data
2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock (加上此行)
6、修改MySQL启动脚本/etc/init.d/mysql
最后,需要修改MySQL启动脚本/etc/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/init.d/mysql
#datadir=/var/lib/mysql(注释此行)
datadir=/home/data/mysql (加上此行)
7、重新启动MySQL服务
/etc/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。还要注意目录的属主和权限。