怎么解决mysql中的ERRORInnoDB问题


本篇内容介绍了“怎么解决mysql中的ERRORInnoDB问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况开发云主机域名吧!希望大家仔细阅读,能够学有所成!
问题描述:启动MySQL后,出现连接不上,报 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
[root@mysql01 ~]# service mysql start
Starting MySQL [ OK ]
[root@mysql01 ~]# mysql -uroot -poracle
Warning: Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
[root@mysql01 ~]# ll /var/lib/mysql/mysql.sock
ls: cannot access /var/lib/mysql/mysql.sock: No such file or directory
说明:
mysqld.sock是mysql启动以后自动生成的文件,关闭MySQL服务后,这个文件又会被删除。如果MySQL启动异常,就有可能不生成这个文件,登录的时候就会出现你这个错误。
[root@mysql01 ~]# cd /var/lib/mysql
[root@mysql01 mysql]# ls
auto.cnf ib_logfile0 mysql01.err RPM_UPGRADE_MARKER-LAST
binarylog ib_logfile1 performance_schema test
ibdata1 mysql RPM_UPGRADE_HISTORY
[root@mysql01 mysql]# vi mysql01.err
错误日志报错如下:
2017-06-04 04:08:47 2835
2017-06-04 04:08:47 2835 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

分析:
1、磁盘空间目录不足
2、ibdata1 文件被其他的进程占用
3、 等

解决过程:
1、 — 查看磁盘空间情况
[root@mysql01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 35G 7.8G 26G 24% /
tmpfs 699M 72K 699M 1% /dev/shm
/dev/sda1 2.9G 4.5M 2.7G 1% /tmp
2、 –InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
已经指出其他的线程启动已经在运行无法再次创建相关的读文件进程的权限,也就是说,现有的ibddata文件已经有人读取了,无法再次启动!
— 查看系统 mysql 相关进程
[root@mysql01 ~]# ps aux |grep mysql*
root 1742 0.0 0.0 108336 552 ? S 03:59 0:00 /bin/sh /usr/bin/mysqld_safe –datadir=/var/lib/mysql –pid-file=/var/lib/mysql/mysql01.pid
mysql 1930 0.2 37.8 1170956 541948 ? Sl 03:59 0:03 /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –plugin-dir=/usr/lib64/mysql/plugin –user=mysql –log-error=/var/lib/mysql/mysql01.err –pid-file=/var/lib/mysql/mysql01.pid –port=3306
root 3117 0.0 0.0 103312 876 pts/2 S+ 04:29 0:00 grep mysql*
— kill -9 杀掉
[root@mysql01 ~]# kill -9 1930
[root@mysql01 ~]# ps aux |grep mysql*
root 3186 0.0 0.0 103308 852 pts/2 S+ 04:29 0:00 grep mysql*
— 启动
[root@mysql01 ~]# service mysql start
Starting MySQL.. [ OK ]
[root@mysql01 ~]# mysql -uroot -poracle
Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.
mysql>
说明:恢复正常
“怎么解决mysql中的ERRORInnoDB问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!

相关推荐: 为什么预编译可以防止sql注入

为什么预编译可以防止sql注入?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。预编译可以防止sql注入的原因:进行预编译之后,sql语句已经被数据库分析,编译和优化了,并且允许数据库以参数化的形…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/27 17:49
下一篇 06/27 17:50

相关推荐