在OS X环境下MySQL启动时报错
2024-08-25 23:02:30
--03T00::.483037Z [ERROR] InnoDB: Unable to lock ./ibdata1 error:
--03T00::.483100Z [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
终端不断地重复打印上面的错误日志,从错误日志看起来似乎有另外一个mysqld进程占用了./ibdata1文件,于是使用ps命令查看是否有mysqld进程在运行:
ps -ef |grep mysqld
:04上午 ?? :00.34 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid
发现有一个7711的进程在运行,于是强制kill掉:
sudo kill -
再次ps查询:
ps -ef |grep mysqld
:10上午 ?? :00.29 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid
发现还在,只不过pid由原来的7711变成了现在的7759,那么看看mysqld进程打开了哪些文件:
lsof -c mysqld
该进程没有打开任何文件,这就见鬼了。于是再次运行:
sudo lsof -c mysqld
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld _mysql cwd DIR , /usr/local/mysql/data
mysqld _mysql txt REG , /usr/local/mysql/bin/mysqld
的确发现有一个实实在在的mysqld进程在运行,也占用的这些mysql文件,经过一番Google大法,发现在OS X中启动MySQL跟在Linux中启动方式完全是牛马不相及,在OS X中启动/重启MySQL的正确姿势是:
sudo launchctl unload -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
此时再来看看是否还有mysqld进程:
ps -ef |grep mysqld
嗯,发现确实没有了,再来启动MySQL:
sudo launchctl load -w /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
最新文章
- 运用Mono.Cecil 反射读取.NET程序集元数据
- C#将集合快速排序
- 新手使用R的注意事项
- Linux内核system_call中断处理过程
- max_allowed_packet
- var_dump() 打印数组不完整 解决办法
- CSS 高级
- 在O(1) 时间删除链表节点
- 【转】基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计
- innerHeight与clientHeight、innerWidth与clientWidth、scrollLeft与pageXOffset等属性
- PageRank——Google的民主表决算法
- Python-写文件
- Java消息队列--ActiveMq 初体验
- redis学习笔记01 — 基本介绍、安装配置及常用命令
- Integert 与 int例子详解
- linux-高并发与负载均衡-TCP-IP基础知识
- 使用mini-textbox控件时 不能获取value值
- Hdoj 1008.Elevator 题解
- Bjarne Stroustrup announces C++ Core Guidelines
- .NET处理HTTP请求
热门文章
- 【原创】Java并发编程系列1:大纲
- <;keep-alive>; 大量异步数据嵌入在循环体内,会有大量相同异步请求,可以缓存下拉用。
- 标题	发布状态	评论数	阅读数	操作	操作 CNN目标检测系列算法发展脉络简析——学习笔记(三):Fast R-CNN
- Flask wtforms 表单验证使用
- JAVA和C#中数据库连接池原理与应用
- SpringMVC框架——数据绑定
- centos 安装activeMq
- Java集合框架要点概括(Core Knowledge of Java Collection)
- matplotlib.pyplot.text
- Linux中cache和buff的区别