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任 ...
随机推荐
- 搞个这样的APP要多久?
这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...
- 渗透测试工具BurpSuite做网站的安全测试(基础版)
渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...
- Xamarin+Prism开发详解三:Visual studio 2017 RC初体验
Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...
- .NET CoreCLR开发人员指南(上)
1.为什么每一个CLR开发人员都需要读这篇文章 和所有的其他的大型代码库相比,CLR代码库有很多而且比较成熟的代码调试工具去检测BUG.对于程序员来说,理解这些规则和习惯写法非常的重要. 这篇文章让所 ...
- [原]HAproxy 代理技术原理探究
HAproxy 技术分享 简介 HAProxy是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件 Features 1.免费 2.能够做到4层以上代理 3.高性能 ...
- .NET平台和C#编程的总结
第一章 简单认识.NET框架 (1)首先我们得知道 .NET框架具有两个主要组件:公共语言进行时CLR(Common Language Runtime)和框架类库FCL(Framework ...
- [算法]——快速排序(Quick Sort)
顾名思义,快速排序(quick sort)速度十分快,时间复杂度为O(nlogn).虽然从此角度讲,也有很多排序算法如归并排序.堆排序甚至希尔排序等,都能达到如此快速,但是快速排序使用更加广泛,以至于 ...
- 服务治理要先于SOA
讲在前面的话: 若企业缺乏对服务变更的控制和规则,那么一个服务在经过几个项目之后,就很有可能被随意更改成多个版本,将来变成什么样更是无法预测.久而久之,降低了服务重用的可能性,提高了服务利用的成本 ...
- TFS2013 设置签出独占锁
转载自: http://www.cnblogs.com/zhang888/p/4280251.html
- HTML5- Canvas入门(五)
今天要介绍的是canvas对图形对象的操作,包括图像.视频绘制,和操作像素对象的方法. 图片/视频的绘制 在canvas中,我们可以通过 drawImage() 的方法来绘制图片或视频文件,其语法为: ...