Linux 下mysql修改数据库存放目录方法和可能遇到的问题
2015-04-15 10:17
726 查看
MySQL版本:5.6.23-enterprise-commercial-advanced ,使用rpm安装
linux:Red Hat Enterprise Linux Server release 6.3 (Santiago)
一 、如果是linux下用rpm包安装的mysql,修改方法如下:
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/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/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
以下是mysql数据目录修改出现
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)错误的解决方案:
本例是将Mysql的数据目录移动到了/home/data/下,即mysql.sock所在的真实目录为,/home/data/mysql/mysql.sock
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
mysql有tcp连接和socket连接方式,而上面这种错误一般是因为mysql是使用rpm方式安装的,它会自动寻找 /var/lib/mysql/mysql.sock 这个文件,是一种socket连接方式。
常见解决办法如下:
1、
创建/修改文件 /etc/my.cnf文件,在[mysqld]上面添加
[client]
#password=your_password
port=3306
socket=/home/data/mysql/mysql.sock
#在这里写上你的mysql.sock的正确位置。
2、
指定IP地址,使用tcp方式连接mysql,而不使用本地socket方式
#mysql -h127.0.0.1 -uuser -ppassword
3、
为 mysql.sock 加个连接,比如说实际的mysql.sock在 /home/data/mysql/ 下,则
#ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock即可
*****************************如果是在unbuntu系统下用如下方法***********************
关闭数据库服务
service mysql stop
建新数据库目录
mkdir /media/hda11/db
复制linux下原数据到新目录下
cp -pR /var/lib/mysql /media/hda11/db/
修改文件/etc/apparmor.d/usr.sbin.mysqld
gedit /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r,
/var/lib/mysql/** rwk,
改成
/media/hda11/db/mysql r,
/media/hda11/db/mysql/** rwk,
修改目录
gedit /etc/mysql/my.cnf
如
datadir = /var/lib/mysql换成datadir = /media/hda11/db/mysql
再开服务器
/etc/init.d/apparmor restart
servcie mysql start
====================
FROM:http://blog.163.com/anonymous_ch/blog/static/206824190201391842558553/
linux:Red Hat Enterprise Linux Server release 6.3 (Santiago)
一 、如果是linux下用rpm包安装的mysql,修改方法如下:
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/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/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
以下是mysql数据目录修改出现
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)错误的解决方案:
本例是将Mysql的数据目录移动到了/home/data/下,即mysql.sock所在的真实目录为,/home/data/mysql/mysql.sock
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
mysql有tcp连接和socket连接方式,而上面这种错误一般是因为mysql是使用rpm方式安装的,它会自动寻找 /var/lib/mysql/mysql.sock 这个文件,是一种socket连接方式。
常见解决办法如下:
1、
创建/修改文件 /etc/my.cnf文件,在[mysqld]上面添加
[client]
#password=your_password
port=3306
socket=/home/data/mysql/mysql.sock
#在这里写上你的mysql.sock的正确位置。
2、
指定IP地址,使用tcp方式连接mysql,而不使用本地socket方式
#mysql -h127.0.0.1 -uuser -ppassword
3、
为 mysql.sock 加个连接,比如说实际的mysql.sock在 /home/data/mysql/ 下,则
#ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock即可
[root@rusky lib]# ln -s /opt/data/mysql/mysql.sock /var/lib/mysql/mysql.sock ln: 创建符号链接 "/var/lib/mysql/mysql.sock": 没有那个文件或目录 由于/var/lib/mysql整个目录被mv了,所以需要在/var/lib/目录下创建mysql目录,再创建符号链接就可以了。
*****************************如果是在unbuntu系统下用如下方法***********************
关闭数据库服务
service mysql stop
建新数据库目录
mkdir /media/hda11/db
复制linux下原数据到新目录下
cp -pR /var/lib/mysql /media/hda11/db/
修改文件/etc/apparmor.d/usr.sbin.mysqld
gedit /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r,
/var/lib/mysql/** rwk,
改成
/media/hda11/db/mysql r,
/media/hda11/db/mysql/** rwk,
修改目录
gedit /etc/mysql/my.cnf
如
datadir = /var/lib/mysql换成datadir = /media/hda11/db/mysql
再开服务器
/etc/init.d/apparmor restart
servcie mysql start
====================
FROM:http://blog.163.com/anonymous_ch/blog/static/206824190201391842558553/
相关文章推荐
- 安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
- 安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
- 修改 MySQL 默认数据库存放路径的方法
- 安装Sql Server 2008,遇到的无权限创建数据库、修改身份验证模式等问题的原因及解决方法
- 数据库中导出CSV文件与EXCEL文件数据对比可能遇到的问题与解决方法
- gcc编译c语言(访问数据库mysql)时可能遇到的问题
- 在linux下自带安装JDK和mysql下,mysql驱动存放的目录问题
- Linux修改MySQL默认数据库存放路径
- linux系统(阿里云机CentOs 6.3验证)mysql5.5安装及可能遇到问题
- MySQL中可能遇到的问题及解决方法
- 【mysql】新方法修改数据库密码以及解决--ERROR 1045 (28000)的问题
- 解决修改MySQL的数据库存放路径后不能重启的问题
- 关于TP5视图分离到根目录的解决方法 原有: 为了方便前端开发,我想把视图(view)部分分离出来专门给前端进行修改 过程:在进行视图设置分离的过程遇到了问题 参考了官方文档http://www
- linux下的安装mysql与遇到一些常见问题的解决方法
- ubuntu下mysql可能遇到的问题及解决方法
- mysql 直接拷贝data 目录下文件 进行数据库迁移时遇到的一些问题??
- linux下mysql更改数据库存放目录
- linux mysql 数据目录文件夹移动及所遇到的问题
- 【记录开发中遇到问题】修改xcode安装目录后终端找不到路径方法
- win2008 R2服务器下修改MySQL 5.5数据库data目录的方法