Mac OS X 下安装MySQL 5.7
下载安装包
官网下载安装包 选择相应的版本和格式,有 .dmg
和压缩包
两种。
这里选择简单直接的 .dmg
安装包,下载的时候可以将下载地址直接贴到迅雷,速度比较快。
安装
安装很简单,直接双击下好的.dmg文件,一路next就可以了。
启动 MySQL
OK!安装够简单,接下来就是启动MySQL,以及具体使用了。
系统偏好设置->MySQL->Start MySQL Server
启动 Mysql
然后在终端中进入MySQL控制台
1
|
jacob@promote:~$ mysql -u root -p
|
这是什么情况,root
用户的密码是啥,安装的时候也没有提示要设置密码。
Google之,说是初始安装后密码为空直接回车就可以了,试了下不行,提示如上。下面就来解决这个问题。
MySQL修改密码
- 关闭服务
系统偏好设置->MySQL->Stop MySQL Server
- 安全模式进入MySQL
1
|
jacob@JacobdeMacBook-Pro:~$ sudo mysqld_safe --skip-grant-tables
|
重新打开一个终端 进入MySQL控制台
1
|
jacob@JacobdeMacBook-Pro:~$ mysql -u root
|
提示已经成功进入控制台
修改密码,sql
语句
1
|
mysql> update mysql.user set password=password('123456') where user='root';
|
坑爹的地方来了,输入后报如下错误
1
|
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
|
神马情况,'password'
列不存在,这个地方花了好多时间,原因其实很简单啊啊。
MySQL 5.7 版本中 user
表中的密码字段列名称变了,从password
变成了authentication_string
可以直接看一下user
表中的字段
1
|
mysql> use mysql;
|
部分字段如下
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
Host | char(60) | NO | PRI | ||
User | char(16) | NO | PRI | ||
authentication_string | text | YES | NULL | ||
password_expired | enum(‘N’,’Y’) | NO | N | ||
password_last_changed | timestamp | YES | NULL | ||
password_lifetime | smallint(5) unsigned | YES | NULL |
最后用如下如下语句修改
1
|
mysql> update mysql.user set authentication_string=PASSWORD('123456') where user='root';
|
修改成功,再次进入控制台
1
|
mysql> show databases;
|
这次可以进去了,但是随便执行一条语句依然报错啊
1
|
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
|
按照提示再次设置密码
1
|
mysql> set password for root@localhost=password('12345');
|
这次OK了,接下来就可以正常建表、查询 使用了。
mysql的启动和停止
mysql.server
是包含在和 MySQL Unix
分发包中的启动脚本,该脚本可以用于Linux
和Solaris
类似的系统中。这种系统使用 V-style
(区别与BSD-style
)系统运行目录来启动和停止服务。
mysql.server
可以在MySQL
安装目录中的support-files
文件夹中找到,如果使用的是rpm
安装包方式(与之相对应的另一种安装包方式是dpkg),mysql.server
脚本会被安装在/etc/init.d
,而且会被重命名mysql
。
另外一些发行版本会重命名为mysqld
1. Linux下启动/停止/重启启动命令如下:
/etc/init.d/mysqld start
/etc/init.d/mysqld stop
/etc/init.d/mysqld restart
2. Linux下以Service方式启动/停止/重启MySQL命令:
service mysqld start
service mysqld stop
service mysqld restart
or
service mysql start
service mysql stop
service mysql restart
service
命令就是调用/etc/init.d/
下边的脚本来启动服务,等于直接使用/etc/init.d/* start
service 描述中讲到
DESCRIPTION
service runs a System V init script in as predictable environment as possible, removing most environment variables and with current working directory set to /.
The SCRIPT parameter specifies a System V init script, located in /etc/init.d/SCRIPT.
3. MAC OX命令行启动/停止/重启MySQL命令:
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server restart
参考2:MySQL命令行启动
参考3:http://lj6684.iteye.com/blog/1204427 --设置编码
参考4: http://bigfishkun.com/2016/01/07/mysql-installation-for-osx.html --mysql安装