第1步:使用第三方软件SSH或xshell成功登录到centos系统。
第2步:home目录下建立data目录,data目录下建立mysql目录
第3步:首先停止掉mysql服务,在终端中执行"/etc/init.d/mysql stop" 或者执行"service mysqld stop"并回车确定。
第4步: 把/var/lib/mysql整个目录移到/home/data/下
第5步:修改mysql配置文件,执行“vim /etc/my.cnf”命令并确定。
第6步:修改mysql配置文件,修改MySQL启动脚本/etc/init.d/mysqld。
执行"vim /etc/init.d/mysqld "(如果没有此文件,就不需要修改)
第7步:重新启动MySQL服务
service mysqld restart 或者/etc/init.d/mysqld start
可能遇到的问题:
The server quit without updating PID file.
问题解析:
可能是没有将原数据库文件拷贝到新的目录下面,或者没有将新建的目录授权给mysql用户(chown -R mysql.mysql /home/data/mysql)
ps.补充,查看用户组 cat /etc/group
chown -R mysql.mysql /home/data/mysql
mysql数据库报错:InnoDB: Operating system error number 13 in a file operation
环境:centos6.5 x86_64
启动mysql发现日志报错(日志路径可以查看/etc/my.cnf的配置)
160722 10:34:08 [Note] Found 42570716 of 42570696 rows when repairing './[email protected]/room_msg'
160810 0:54:00 [ERROR] /usr/libexec/mysqld: Sort aborted
160810 10:41:55 [ERROR] /usr/libexec/mysqld: Sort aborted
160810 16:41:43 [ERROR] /usr/libexec/mysqld: Sort aborted
160823 11:34:45 mysqld_safe Starting mysqld daemon with databases from /home/data
160823 11:34:46 [Warning] Can't create test file /home/data/plugin.lower-test
160823 11:34:46 [Warning] Can't create test file /home/data/plugin.lower-test
160823 11:34:46 [Warning] option 'innodb-additional-mem-pool-size': signed value 200 adjusted to 524288
160823 11:34:46 InnoDB: Initializing buffer pool, size = 128.0M
160823 11:34:46 InnoDB: Completed initialization of buffer pool
160823 11:34:46 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
160823 11:34:46 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
160823 11:45:30 mysqld_safe Starting mysqld daemon with databases from /home/data
160823 11:45:30 [Warning] Can't create test file /home/data/plugin.lower-test
160823 11:45:30 [Warning] Can't create test file /home/data/plugin.lower-test
160823 11:45:30 [Warning] option 'innodb-additional-mem-pool-size': signed value 200 adjusted to 524288
160823 11:45:30 InnoDB: Initializing buffer pool, size = 128.0M
160823 11:45:30 InnoDB: Completed initialization of buffer pool
160823 11:45:30 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
发现系统启动只有几十分钟,说明服务器刚被人重启过,mysql服务无法启动
百度了下可能是selinux引起的,getenforce 发现问enforcing
setenforce 0
并且修改配置vim /etc/sysconfig/selinux
SELINUX=disabled
问题解决
转载原文:https://blog.csdn.net/weixin_34368949/article/details/94196444
mysql重启失败报错ibdata1 Can't determine file permissions
[ERROR] InnoDB: os_file_get_status() failed on './ibdata1'. Can't determine file permissions
mysql重启报错以上.
版本:mysql5.7+centos7.0
解决步骤:
1、查看配置文件内容指定的pid-file
cat /etc/my.cnf
pid-file=/var/run/mysqld/mysqld.pid
so,查看该目录是否存在。如没有,则创建,并修改属主属组。
ll /var/run/mysqld/
#不存在
mkdir -p /var/run/mysqld/
chown -R mysql:mysql /var/run/mysqld
试着重启:
service mysqld restart
如果还报错,则进入下一步。
2、关闭selinux.并重启。
setenforce 0
service mysqld restart
或者
systemctl restart mysqld.service
转载原文链接:https://blog.csdn.net/agonisq/article/details/79817397