Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)
忘记Root密码肿么办
Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大。如果你是第一次安装,在mysql安装完成之后,会弹出来一个root账号的临时密码,就像下面的图:
我第一次的时候以为是个秘钥啥的,就没有细看,直接关掉了,直到我在workbench中想要连接mysql时,试了各种密码都不行,才知道那个密码是有用的。
没办法,我就去网上找,基本上网上说的都是这样的解决办法:
我用这样的方法也确实进去了,不要密码,但是我也没法修改root的原始密码,倒是不影响我适用,于是新建了一个连接,然后在我的本地建了个schema,然后写了一堆建表、triggle啥的,本来一切都好好的。。。然后某天,我重启了一下电脑,发现连不进去了。不能每次都绕过认证啊,于是又开始在网上一堆搜解决办法,最后还是在stackoverflow上面找到了一个适合我的办法,万能的stackoverflow!!
这个适合我的办法就是,重装MySQL。。。。。
好吧,不要以为在mac上重装MySQL就是双击安装包啥的,没那么简单,因为你根本就找不到传统的路径,在应用程序那里也没有一个图标啥的,所以,得用命令行删除,打开终端,然后依次输入下面的命令
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
rm是remove命令,删掉的都是mysql的安装目录及相关的文件路径
这样,再重新双击一下安装包,这次就ok了,记得在最后的时候保存一下那个temp的密码。
之后在workbench里面,还是会有这个localhost 3306端口的入口,就是我们装好的mysql了,这次利用保存好的密码,就可以登录进去了,其实在你登录的时候,就会提示你设置一个新的密码,到此就ok了。
接下来,说一些关于workbench的一些小的tips吧。
最先使用workbench那会我还没有装mysql,只是在网上查了下有没有类似于powerdesinger一样强大的工具,可以用来设计mysql的数据库架构等,然后就找到了这个,当时也只是利用它的EER diagram,入口在主界面的左下角:
那个sakila_full的是它的一个示例模板,左边那个是我自己见的,其实就是类似于PowerDesigner啦:
你可以在这里面设置各个表的结构,还可以设置Foreign key,trigger等
说到foreign key就不得不提在mysql里面的两种不同的reference关系了:identifying relationship 和 non-identifying relationship,他们分别对应上图里面的实线和虚线:
虚线是non-identifying ,实线是identifying 的关系,翻译成中文就是强关联和弱关联,所谓强关联(identifying relationship)就是说引用的外键不是独立存在的,而是依附于它所参照的key的,或者说,某张表是依存于它所引用的表而存在的,不能独立存在的。
好吧,我知道我解释的也非常不清楚,同学们还是去google下这两个之间的区别吧,网上的例子挺多的,我就不细说了。
重点说下最后一个工具,就是在1:n前面有个类似于取色器一样的那个工具,那个是可以在现有的表结构之上建立外键关系的,先点击一个表中的某个键,然后点击它所引用的表中的某个键,这样就建立好一个foreigner key了,而且它会自动判断你这个关系是不是identifying的。我所有的外键约束都是用这个做好的。
另外我们双击某个表,就出来这样的设置界面:
注意我在id后面的AI列打上了勾,这个列表示是自增序列的意思,注意mysql里面自增序列是每个表独有的,而不是oracle那样需要建立一个自增序列的,这个我在之前的blog中也有叙述。然后在最右侧,可以设置你这一列的字符集以及注释信息,这些内容我们通过这样的可视化界面设置好之后,后面我会介绍如何导出SQL文件,那个文件省去了很多我们手动写代码的繁琐了,特别方便。
在上面那个截图的底端,我们还可以分别进入到index、foreign key以及trigger等的界面,都可以很直观的进行设置。
好了,在这里面,我们基本上可以通过可视化的方式,把我们的整个数据库架构搭建起来,那我们一定希望可以把相应的sql语句输出,没问题,接下里就是如何导出了:
file->Export->Forward Engineer SQL CREATE Script...
这里可以选择导出的位置,还有一些定制化的选项,勾选不同的选项会导致你的sql 脚本发生相应的改变
接下来会询问要导出的内容,默认你建好的东西都会帮你导出来,我这里有9个表,然后2个触发器,所以都包含进来,点击continue就到最后一步了
这里面我们可以看一下我们的之前的那些建好的表啊、触发器啊语句是如何写的,是不是很方便啊~这样做数据库的移植也非常的方便,而且因为有了这个脚本,这篇blog开头讲到的重新安装mysql之后我才能迅速地在第一时间恢复数据库。
Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)的更多相关文章
- mysql忘记root密码解决办法
最近项目中的数据库我放在了服务器上,但是今天突然不能用了,进入服务器查看,果然是数据库不能进去了,所以今天来分享一个mysql忘记root密码的解决方案: 1.让mysql不载入权限表,命令:mysq ...
- skip-grant-tables 修改linux的mysql忘记root密码
skip-grant-tables 修改linux的mysql忘记root密码 今天修改mysql中的admin用户权限,在执行update user set host =' %' where use ...
- MAC下MySQL忘记初始密码
MAC下MySQL忘记初始密码的解决方法分享给大家,供大家参考,具体内容如下 从官网安装好MySQL的dmg后. 1 设置mysql命令 从终端输入 ? 1 mysql --version 若显示版本 ...
- MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法
MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...
- Ubuntu下MySQL忘记root密码重置
MySQL忘记root密码肿么办?-_-||| 这种情况虽然不是很常见,但是有时长时间没有登录系统,还真会忘记密码.这时候,如果您能以系统管理员权限登陆密码,那还是有救的.放大招,将其重置即可. ...
- linux下mysql忘记root密码怎么办
Linux下MySQL忘记root密码怎么办? Linux下MySQL忘记root密码怎么办? 1. 修改MySQL配置文件 默认MySQL的配置文件为/etc/my.cnf,在[mysqld]下面添 ...
- 附录:MySQL忘记root密码
中小型规模网站集群架构:MySQL忘记root密码 : 矮哥linux运维群:93324526 前言 你忘记系统root密码的时候,你怎么解决的? 不就是single用户进行修改密码吗?这里原理是类似 ...
- windows下mysql忘记root密码的解决办法
今天早上 一朋友说自己的mysql 忘记root密码了 让我帮忙给看看,因为没有接触过mysql 所以从网上找了一下信息经我亲身实践 已经成功!mysql版本是5.1以下是从网上找的信息: 1. 首 ...
- mysql忘记root密码的解决方法
Windows下mysql忘记root密码的解决方法 1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql 或者在windows任 ...
随机推荐
- Be Better:遇见更好的自己-2016年记
其实并不能找到好的词语来形容过去的一年,感觉就如此平淡的过了!没有了毕业的稚气,看事情淡了,少了一丝浮躁,多了一分认真.2016也许就是那句话-多读书,多看报,少吃零食多睡觉,而我更愿意说--Be B ...
- Spark RDD 核心总结
摘要: 1.RDD的五大属性 1.1 partitions(分区) 1.2 partitioner(分区方法) 1.3 dependencies(依赖关系) 1.4 compute(获取分区迭代列表) ...
- iOS热更新-8种实现方式
一.JSPatch 热更新时,从服务器拉去js脚本.理论上可以修改和新建所有的模块,但是不建议这样做. 建议 用来做紧急的小需求和 修复严重的线上bug. 二.lua脚本 比如: wax.热更新时,从 ...
- netty5 HTTP协议栈浅析与实践
一.说在前面的话 前段时间,工作上需要做一个针对视频质量的统计分析系统,各端(PC端.移动端和 WEB端)将视频质量数据放在一个 HTTP 请求中上报到服务器,服务器对数据进行解析.分拣后从不同的 ...
- Java 为值传递而不是引用传递
——reference Java is Pass by Value and Not Pass by Reference 其实这个问题是一个非常初级的问题,相关的概念初学者早已掌握,但是时间长了还是容易 ...
- C# 实时折线图,波形图
此Demo是采用VS自带的Chart图表控件,制作实时动态显示的折线图,和波形图. 涉及到知识如下: Chart 控件,功能强大,可以绘制柱状图,折线图,波形图,饼状图,大大简化了对图的开发与定制. ...
- SpringMVC+Shiro权限管理【转】
1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...
- 彻底搞懂Javascript的“==”
本文转载自:@manxisuo的<通过一张简单的图,让你彻底地.永久地搞懂JS的==运算>. 大家知道,==是JavaScript中比较复杂的一个运算符.它的运算规则奇怪,容让人犯错,从而 ...
- 读过MBA的CEO更自私?《哈佛商业评论》2016年第12期。4星
老牌管理杂志.每期都值得精度.本期我还是给4星. 以下是本书中的一些内容的摘抄: 1:他们发现在Airbnb上,如果客人姓名听起来像黑人,那么比名字像白人的客人的接受率会低16%.#45 2:对立组织 ...
- ABP理论之时间
返回总目录 本篇目录 介绍 Clock 时区 绑定器和转换器 介绍 虽然有些应用针对的是一个特定的时区,但是也有一些应用针对多个不同的时区.为了满足这些需求,ABP为datetime操作提供了通用的基 ...