将datadir = /var/lib/mysql 改成 datadir = /data/mysql/mysql
10余年的东宝网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整东宝建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“东宝网站设计”,“东宝网站推广”以来,每个客户项目都认真落实执行。
如果出现如下权限限制的话,先输入:set noreadonly 再输入:wq 保存后退出
将
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
改成
/data/mysql/mysql/ r,
/data/mysql/mysql/** rwk,
将
/var/lib/mysql{,d}/mysql{,d}.sock rw,
改成
/data/mysql/mysql{,d}/mysql{,d}.sock rw,
验证修改成功。
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还要注意目录的属主和权限。
MySql安装过程中,没有修改掉数据存储位置的话,可能会是数据存储到自己并不希望的位置,故需要修改
先利用命令行登录数据库
mysql -u root -p
查看数据库数据存储位置
show variables like '%datadir%'
去该目录下找到文件夹中的所有文件(该目录一般是隐藏的),将其中所有文件拷贝到你希望数据文件存储的位置,
我是想拷贝到D:/MySQl/data目录下的
打开安装目录下的my.ini文件,将datadir="C:/ProgramData/MySQL/MySQL Server 5.5/data/",这行修改为datadir="D\MySQL\data"(这里用又斜线,否则有可能报错)。
退出所有对mysql.exe的调用,任务管理器看一下服务MySQL有没有停止,如果没有,在cmd中命令net stop mysql停止服务。然后在net start 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文件。
一、停止MySQL
开始-cmd
netstopmysql5
二、复制原来数据库目录到新目录
1、复制C:\ProgramData\MySQL\MySQLServer5.5\中的data目录到
D:\ProgramFiles\MySQL\MySQLServer5.5\目录下(自建的目录)
三,修改MySQL配置文件
1、用记事本打开C:\ProgramData\MySQL\MySQLServer5.5\data\目录下的my.ini
找到datadir="C:\ProgramData\MySQL\MySQLServer5.5\data"
在前面加#注释掉
在下面添加一行
datadir="D:\ProgramFiles\MySQL\MySQLServer5.5\data"
修改完成后,保存退出。
四、重新启动MySQL
1、开始-cmd
netstartmysql5
2、进入MySQL控制台
开始-所有程序-MySQL-MySQLServer5.5-MySQL5.5CommandLineClient
提示输入MySQLroot账号的密码,输入之后回车,进入MySQL控制台
showvariableslike’%datadir%’; #查询MySQL数据库存放目录
如查询显示为D:\ProgramFiles\MySQL\MySQLServer5.5\data\即表示修改成功!
1、在mysql安装完成后,要修改数据库存储的位置,比如从安装目录下的E:\Program Files (x86)\MySQL\data文件夹转移到D:\mydata文件夹。
2、在D:\下新建mydata文件夹
3、cmd进入dos窗口,输入net stop mysql停止MySQL服务,将C:\ProgramData\MySQL\MySQL Server 5.5\data(其中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服务即可。