热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MacOS系统安装MySQL及设置MySQL服务开机启动和密码修改方法

本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。

安装很简单关键是安装后的配置需要注意下。网上也有很多文章介绍这里把我安装过程中遇到的问题汇总下。

第一步到MySQL官网下载macos版本的然后安装提示一步一步安装。安装完成后在“系统偏好设置”中多了一个MySQL的图标打开发现可以设置MySQL服务是否开机启动以及打开关闭MySQL服务。

第二步MySQL安装后相关内容都在/usr/local/mysql目录下输入命令很不方便所以最好创建能在终端中直接使用的MySQL快捷命令。当然如果你不嫌麻烦愿意每次都输入完整路径命令可忽略此步

打开终端输入命令sudo vim /etc/bashrc

在bashrc中添加需要的快捷命令例如

alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'

alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop'

alias mysql='/usr/local/mysql/bin/mysql'

alias mysqladmin='/usr/local/mysql/bin/mysqladmin'

编辑完后需要使用“wq!”命令强制保存内容。

第三步重启终端然后设置MySQL的root帐号输入命令mysqladmin -u root password 123456

PS:在执行上述命令时可能报错mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'

第四步解决上一步中的问题。

思路为通过命令mysqld_safe跳过权限控制启动服务然后登陆后找到记录root用户的表修改其密码。具体操作如下

step 1:首先关闭mysql服务

step 2:打开终端输入命令sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking & 

--skip-grant-tables不启动grant-tables(授权表),跳过权限控制。

--skip-networking 跳过TCP/IP协议只在本机访问(这个选项不是必须的。可以不用)

step 3:保留开启mysqld_safe的终端新建一个终端输入命令mysql此时我们就可以直接登录到MySQL服务了。

查询MySQL的用户信息输入SQL命令

select host,user,authentication_string from user;

我们只需要重置用户名为root的密码就可以输入SQL命令

update user set authentication_string=PASSWORD('123456') where user='root' and host='localhost';

新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表否则会出现拒绝访问还有一种方法就是重新启动mysql服务器来使新设置生效。输入命令flush privileges;

step 4:重启MySQL服务打开终端输入命令mysql -uroot -p 输入刚设置好的密码就能成功登录。

但是本人成功登录后show databases查看数据库报错You must reset your password using ALTER USER statement before executing....

第五步解决上一步中的问题。

step 1: SET PASSWORD = PASSWORD(‘your new password‘);

step 2: ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER;

step 3: flush privileges;

完成以上三步退出再登使用新设置的密码就行了以上除了红色的自己修改成新密码外其他原样输入即可。

至此mysql安装完成。



推荐阅读
author-avatar
caiyafang4376
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有