一直都在用远程的数据库服务,这次突然想使用一下本地的数据库,才发现以前安装的mysql服务出现了一些小问题,记录一下处理的过程。
首先是在设置 - mysql面板中点击start mysql server 按钮,输入密码后无法启动mysql服务。
在终端使用mysql命令时提示
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
看了一下确实没有这个文件,网上搜了一下,也是说mysql服务没有启动导致的这个提示。
于是使用终端命令来启动mysql:
$ sudo /usr/local/mysql/support-files/mysql.server start Starting MySQL .Logging to '/usr/local/mysql/data/ICHARM.local.err'. .. ERROR! The server quit without updating PID file (/usr/local/mysql/data/ICHARM.local.pid).
提示信息如上,出现了错误,日志写进了ICHARM.local.err文件中,于是打开这个文件看看
$ sudo cat /usr/local/mysql/data/ICHARM.local.err | grep "[ERROR]" Password: 2017-01-31T13:13:33.614470Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-01-31T13:13:33.614719Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled 2017-01-31T13:13:34.234341Z 0 [Note] Plugin 'FEDERATED' is disabled. 2017-01-31T13:13:34.245435Z 0 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use 2017-01-31T13:13:34.245439Z 0 [ERROR] Do you already have another mysqld server running on port: 3306 ? 2017-01-31T13:13:34.245453Z 0 [ERROR] Aborting
上面提示3306端口被占用,看一下是什么进程占用了该端口:
$ icharm@ICHARM /usr/local/mysql/support-files sudo lsof -i :3306 Password: COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 98 _mysql 18u IPv6 0x8403df976d0976c9 0t0 TCP *:mysql (LISTEN) $ sudo kill -9 98 $ sudo lsof -i :3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 6559 _mysql 21u IPv6 0x8403df976d097169 0t0 TCP *:mysql (LISTEN) $ sudo kill -9 6559 $ sudo lsof -i :3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 6581 _mysql 21u IPv6 0x8403df9777b33c09 0t0 TCP *:mysql (LISTEN) $ sudo kill -9 6581 $ sudo lsof -i :3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 6604 _mysql 21u IPv6 0x8403df976d097169 0t0 TCP *:mysql (LISTEN) $ sudo /usr/local/mysql/support-files/mysql.server stop ERROR! MySQL server PID file could not be found!
发现这就是就是mysql的进程,一个没有正常工作的mysql进程,而且杀不死。最终重启了一下,恢复正常了
mysql安装
哀差闷是在mysql官网上直接下载dmg安装包安装的,安装完成后会有一个提示框,告诉你root用户的密码,这个密码是随机的。
下载地址为:https://dev.mysql.com/downloads/mysql/
下载安装完成后,还没法在终端使用mysql命令,需要先执行下面的命令:
$ cd /usr/local/bin/ $ sudo ln -fs /usr/local/mysql/bin/mysql mysql
Comments | NOTHING