解决mysql更换数据存储目录的问题
2017-10-16 20:49
155 查看
我的mysql用的是yum安装的,开始默认的安装目录是/var/lib/mysql,修改成/data3/lib/mysql:1:将/etc/my.conf有用的配置如下:
修改成
即将所有的/var都修改成/data32:然后修改/etc/init.d/mysqld也是将所有的/var/改成/data3/3:将所有的/var目录下的数据全部拷贝到/data3下,修改目录权限为:chown mysql:mysql /data3/ -R4:重启mysql:
重启失败,并且没有任何提示信息
找了好久,才找到原来与SELinux的权限模式有关于是:在网上找到了一篇很好的文章:http://jejoker.iteye.com/blog/1882028也可以参考我转载的:http://cyxinda.blog.163.com/blog/static/36596186201722333039773/解决方法有两种:1:执行命令:semanage fcontext -a -t mysqld_db_t "/data3(/.*)?"添加一个上下文映射类型:mysqld_db_t执行命令:restorecon -Rv /data3然后在执行service mysqld start就可以重启完成了2:关闭linux的SELinux权限模式[root@slave1 mysql]# setenforce 0
setenforce: SELinux is disabled
或者:
查看/var/log/mysqld.log,发现Can't create test file /xxx/mysql/centos5.lower-test,这里是因为没有权限创建或读取文件。de style="padding: 0px; margin: 0px;" > 解决办法就是使用setenforce 0 这个命令,让系统关闭权限校验,然后再运行命令 service mysqld start 发现OK了。de>de style="padding: 0px; margin: 0px;" > 如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0de>de style="padding: 0px; margin: 0px;" > 另外一个办法是restorecon -FRv /home/data/mysql,或者chcon -R -t mysqld_db_t /home/data/mysqlde>
然后在执行service mysqld start就可以重启完成了
在本地登录会遇到:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
需要在/etc/my.cnf中添加:
[client]
socket=/data3/lib/mysql/mysql.sock
即可。
在使用semanage fcontext -a -t mysqld_db_t "/data3(/.*)?"的时候,可能会遇到semanage SELinux Command Not Found的问题,那么解决该问题:解决:semanage SELinux Command Not Found的问题
首先需要使用yum命令找到/usr/sbin/semanage对应的包名,命令如下:# yum provides /usr/sbin/semanage //查找命令或文件对应包名然后执行:
# yum -y install policycoreutils-python完美。。。。。。
[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidslow_query_log = 1slow_query_log_file = /var/lib/mysql/slow_queries.log |
[mysqld]datadir=/data3/lib/mysqlsocket=/data3/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0 log-error=/data3/log/mysqld.logpid-file=/data3/run/mysqld/mysqld.pid slow_query_log = 1slow_query_log_file = /data3/lib/mysql/slow_queries.log |
重启失败,并且没有任何提示信息
找了好久,才找到原来与SELinux的权限模式有关于是:在网上找到了一篇很好的文章:http://jejoker.iteye.com/blog/1882028也可以参考我转载的:http://cyxinda.blog.163.com/blog/static/36596186201722333039773/解决方法有两种:1:执行命令:semanage fcontext -a -t mysqld_db_t "/data3(/.*)?"添加一个上下文映射类型:mysqld_db_t执行命令:restorecon -Rv /data3然后在执行service mysqld start就可以重启完成了2:关闭linux的SELinux权限模式[root@slave1 mysql]# setenforce 0
setenforce: SELinux is disabled
或者:
查看/var/log/mysqld.log,发现Can't create test file /xxx/mysql/centos5.lower-test,这里是因为没有权限创建或读取文件。de style="padding: 0px; margin: 0px;" > 解决办法就是使用setenforce 0 这个命令,让系统关闭权限校验,然后再运行命令 service mysqld start 发现OK了。de>de style="padding: 0px; margin: 0px;" > 如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0de>de style="padding: 0px; margin: 0px;" > 另外一个办法是restorecon -FRv /home/data/mysql,或者chcon -R -t mysqld_db_t /home/data/mysqlde>
然后在执行service mysqld start就可以重启完成了
在本地登录会遇到:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
需要在/etc/my.cnf中添加:
[client]
socket=/data3/lib/mysql/mysql.sock
即可。
在使用semanage fcontext -a -t mysqld_db_t "/data3(/.*)?"的时候,可能会遇到semanage SELinux Command Not Found的问题,那么解决该问题:解决:semanage SELinux Command Not Found的问题
首先需要使用yum命令找到/usr/sbin/semanage对应的包名,命令如下:# yum provides /usr/sbin/semanage //查找命令或文件对应包名然后执行:
# yum -y install policycoreutils-python完美。。。。。。
相关文章推荐
- mysql下的数据存储目录更换
- 解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
- 解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
- mysql更换数据存储目录
- 解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
- 用hibernate进行MYSQL数据存储时遇到的中文编码问题及其解决方
- MySQL数据目录更改及相关问题解决方案
- mysql更换数据存储目录
- mysql更换目录失败,提示pid file的问题解决
- 更换mysql数据目录后出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的解决办法
- 解决MySQL无法插入数据的问题!
- SQL SERVER与MYSQL数据导入导出问题解决办法
- GFS安装实例-解决共享存储文件系统数据不同步问题
- 谈乱码问题,如何解决MYSQL数据中文乱码问题
- 修改MySQL默认的数据文件存储目录
- 禁用生成8.3字符长文件名解决单目录存储大量文件写入性能下降问题
- 帮助类解决日期时间问题(包含从Mysql中查出来的数据后面多了个0的问题,以友好的方式显示时间的问题)
- 用SQL语句解决mysql导入大数据文件的问题
- 解决mysql内存表的数据持久性问题
- WINDOWS下更改MYSQL数据路径(datadir)后服务启动碰到1067问题及解决