Mac系统下安装mysql

安装系统使用环境如下:
操纵系统:OSX Yosemite  10.10.5
mysql版本:5.7.9

下载、安装mysql

  1. 下载、安装MySQL Communit Server

    直接进入官网下载链接选择Communit分页下载MySQL Communit Server。点击进入网站会根据你的操作系统为你选择相应系统平台产品,我们可以看到MySQL 安装包有tar.gz,dmg,tar格式,我这里下载的是dmg格式。下载完成后直接根据提示进行安装,dmg格式的直接双击进行安装。安装完成后系统弹窗说为MySQL中root用户分配了一个随机登录密码,这里要先记下来。

  2. 下载、安装MySQL Workbench

    进入官网下载链接选择下载,这里只有dmg格式安装包。下载完成后直接安装。

登录MySQL数据库

  1. 配置环境变量

    首先找到MySQL安装目录,一般默认情况下安装在/usr/local/mysql目录下,将环境变量增加到PATH下:

    export PATH=/usr/local/mysql/bin:/usr/local/mysql/support-files:$PATH
    

    这里我用的是zsh,将该语句加入到了用户目录下的.zshrc,该位置根据不同中断加入不同的位置,加入完成后运行

    source .zshrc
    

    使配置生效。
    这里除了将mysql/bin加入了PATH,还将mysql/support-files加入了PATH,原因会在后面进行说明;

  2. 启动服务

    启动mysql服务有两种方式:终端命令启动、系统偏好设置中启动;

    2.1 终端命令行启动

    sudo mysql.server status  //启动MySQL服务
    sudo mysql.server stop    //关闭MySQL服务
    sudo mysql.server status //查看状态
    

    终端命令中输入上述指令,正常情况下输入系统登录密码运行成功,mysql.server命令在supprot-files目录下,这也就是我们将它加入PATH的原因,否则需要进入指定目录运行

    2.2 系统偏好设置中启动

    进入==系统偏好设置==,在弹出框下方有MySQL图片,点击进入,点击==Start MySQL Server==输入密码启动服务,若服务已经启动则显示绿色running,按钮变成==Stop MySQL Server==,若服务为关闭状态则使用红色现实stopped。

  3. 使用终端登录

    服务启动后,就可以使用mysql命令登录数据库了,这里我们要用到前面安装的时候弹出的root密码

    mysql -u  root -p
    

    输入root密码就登录数据库成功了,如果这里错误告警是Access denied for user root@localhost 可以到后面问题章节找到解决方案。

  4. 使用MySQL Workbench登录

    启动MySQL Workbench,点击添加一个新的connection,输入用户名和密码就可以连接了。当然如果出现终端登录的错误可以后后面章节中得到解决,建议先使用终端登录成功后再使用MySQL Workbench登录

问题

在一切安装完成后,也确定记住了安装时候分配的密码,可登录总是Access denied for user root@localhost提示,通过多次搜索解决方案基本可以确定是由于分配的密码过期导致,这个时候应该做的就是更改root密码,使用官网解决方案无效,最后在stackoverflow中找到了解决方案,归纳如下:

  1. 停止MySQL服务

  2. 首先绕过权限校验表

    mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    

    没有找到stackoverflow中提到文件,可能是由于版本升级原因,我使用上述命令达到同样效果

  3. 登录

    mysql -u root  mysql
    

    该处我直接使用这个命令使用root用户登录使用mysql库,合并了mysql -u root -puse mysql命令效果是一样的

  4. 修改密码并将密码设置成不过期

    UPDATE user SET password_expired = 'N' WHERE User = 'root';//设置root用户密码不过期
    UPDATE user SET authentication_string = PASSWORD('YourNewPassword'), password_expired = 'N' WHERE User = 'root';//修改root密码,并设置成不过期
    

    我使用的第二条命令直接修改密码,其中YourNewPassword就是你设置的密码可以自己修改。

  5. 重启服务,重新登录

    执行到这里,重新启动MySQL服务,再次使用登录命令就正常了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值