Linux 下mysql修改数据库存放目录方法和可能遇到的问题
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即可
[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/
转载于:https://www.cnblogs.com/rusking/p/4427771.html
Linux 下mysql修改数据库存放目录方法和可能遇到的问题相关推荐
- 批量修改linux服务器密码,Linux下批量修改服务器用户密码方法步骤
Linux下批量修改服务器用户密码方法步骤 密码快要过期.由于机器数量众多,因此采用批量修改密码的方式来进行处理. 下面是具体步骤: 1.配置ssh免key # ssh-keygen -t rsa - ...
- mysql修改数据库名的方法
1.通用方法: 指的分别在MYSIAM引擎和INNODB的下 备份还原,安全稳定,数据量大的时候会花很多时间 先将数据库备份,然后再还原到新数据库 2.MYSIAM下 直接在数据库文件目录下修改对应数 ...
- linux如何批量处理图片名,Linux下批量修改图片名称的方法详解
我们都知道,要修改文件夹下的图片名称很容易,那么有什么方法能够快速批量修改图片名称呢?这篇文章主要为大家介绍了linux系统中如何批量修改图片文件名的案例演示,如果想修改linux文件夹下的图片名称, ...
- linux下mysql的数据库简单备份脚本
应用于整个库的备份. #!/bin/bash PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin # 数据库名称 databases=(myna ...
- Linux下MySQL数据库乱码 Linux下MySQL修改默认字符集
MySQL8.0默认字符集编码utf8mb4 使用以下命令查看默认字符集编码(在MySQL下使用) show variables like '%character%'; ±-------------- ...
- centos下mysql更改数据存放目录_CentOS下mysql更改数据存放目录 --转载
MYSQL默认的数据文件存储目录为/var/lib/mysql.假如要把目录移到/home/data下需要进行下面几步: 1.home目录下建立data目录 cd /homemkdir data 2. ...
- Linux下Mysql修改密码
说到这里,特别生气,我的云服务器被黑了,然后把我数据库里的表全部删掉,然后还给我改了密码.此时好痛恨哪些攻击者,我什么都没有,你说你攻击个毛线.话不多说,接下来看操作 重置密码解决MySQL for ...
- linux 下mysql服务器数据库迁移
由于公司测试环境服务器根目录下空间不足,而mysql,docker等服务的数据目录都存在跟目录下,所以考虑数据迁移,先迁移mysql数据目录到home下,迁移过程中出现的问题,在此重新总结下. mys ...
- linux下mysql修改字符集,远程连接
安装时候很简单,但是安装了后一般不能用 安装后 首先执行 mysql -u root mysql 这是就会进入mysql命令窗口,这样是可以使用的,但是我们要先设置密码 1.先设置密码 UPDATE ...
- linux下mysql修改root密码
方法一:用set password命令 首先,登陆mysql mysql -u root -p 然后执行set password命令 set password for root@localhost = ...
最新文章
- matlab多边形扫描线填充算法代码,计算机图形学—多边形扫描与填充
- python语言if语句-Python在if语句中等同于(logical-and)
- 3步告别忙累压力大没成绩
- java中日期计算2月份_计算两日期间2月29日总数的Java程序
- HttpContext HttpRuntime
- 百合佳缘、珍爱网等平台严重侵犯消费者权益被约谈
- Spark Streaming自定义接收器
- Error configuring application listener of class org.springframework.web.context.ContextLoaderListene
- VBS的开发利器---WMI信息绑定参考地址
- 王者荣耀s18赛季服务器什么时候维护好,王者荣耀S18赛季开始时间是什么时候?王者荣耀S18赛季开始时间一览-超能街机...
- git---怎样将分支上的一个单文件合并到主分支上(master)
- File API文件操作之FileReader二
- 黑客是如何入侵电脑的,没有互联网可以入侵电脑吗?
- 使用GAT解析Minidump(图形界面)
- Gif截图工具——GifCam
- HTML网页内联框架
- 使用声卡录制编辑收藏自己喜欢的音乐
- Android Framebuffer介绍及使用
- 推荐几款好用的手机编程APP!
- java中文转拼音_java中文转拼音
热门文章
- Atitit.软件的建模种类and 建模语言选型and UML???
- paip.java c++得到当前类,方法名称以及行号
- paip.提升安全性-------生成一个安全的验证码
- 一文看完“阿里云自动化运维沙龙 · 上海专场”整场干货
- 【优化算法】吉萨金字塔建造优化算法(GPC)【含Matlab源码 1438期】
- 【路径规划】基于matlab改进的人工势场算法机器人避障路径规划【含Matlab源码 1151期】
- 【图像处理】基于matlab GUI打靶仿真系统【含Matlab源码 1043期】
- 【路径规划】基于matlab蚁群算法求解公交车路径规划问题【含Matlab源码 930期】
- 【运动学】基于matlab GUI最小半径泊车方法仿真【含Matlab源码 690期】
- 【语音识别】基于matlab傅立叶变换0-9数字语音识别【含Matlab源码 384期】