MACOS下MySQL的安装与配置

发布于 2017-01-31  4418 次阅读


一直都在用远程的数据库服务,这次突然想使用一下本地的数据库,才发现以前安装的mysql服务出现了一些小问题,记录一下处理的过程。

首先是在设置 - mysql面板中点击start mysql server 按钮,输入密码后无法启动mysql服务。

QQ20170131-0

在终端使用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/

QQ20170131-1

下载安装完成后,还没法在终端使用mysql命令,需要先执行下面的命令:

$ cd /usr/local/bin/

$ sudo ln -fs /usr/local/mysql/bin/mysql mysql

 

参考

Mac下安装与配置MySQL


风雨兼程路,雨雪初霁时