忘记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 (转)的更多相关文章

  1. mysql忘记root密码解决办法

    最近项目中的数据库我放在了服务器上,但是今天突然不能用了,进入服务器查看,果然是数据库不能进去了,所以今天来分享一个mysql忘记root密码的解决方案: 1.让mysql不载入权限表,命令:mysq ...

  2. skip-grant-tables 修改linux的mysql忘记root密码

    skip-grant-tables 修改linux的mysql忘记root密码 今天修改mysql中的admin用户权限,在执行update user set host =' %' where use ...

  3. MAC下MySQL忘记初始密码

    MAC下MySQL忘记初始密码的解决方法分享给大家,供大家参考,具体内容如下 从官网安装好MySQL的dmg后. 1 设置mysql命令 从终端输入 ? 1 mysql --version 若显示版本 ...

  4. MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法

    MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...

  5. Ubuntu下MySQL忘记root密码重置

    MySQL忘记root密码肿么办?-_-|||   这种情况虽然不是很常见,但是有时长时间没有登录系统,还真会忘记密码.这时候,如果您能以系统管理员权限登陆密码,那还是有救的.放大招,将其重置即可. ...

  6. linux下mysql忘记root密码怎么办

    Linux下MySQL忘记root密码怎么办? Linux下MySQL忘记root密码怎么办? 1. 修改MySQL配置文件 默认MySQL的配置文件为/etc/my.cnf,在[mysqld]下面添 ...

  7. 附录:MySQL忘记root密码

    中小型规模网站集群架构:MySQL忘记root密码 : 矮哥linux运维群:93324526 前言 你忘记系统root密码的时候,你怎么解决的? 不就是single用户进行修改密码吗?这里原理是类似 ...

  8. windows下mysql忘记root密码的解决办法

    今天早上 一朋友说自己的mysql 忘记root密码了 让我帮忙给看看,因为没有接触过mysql 所以从网上找了一下信息经我亲身实践  已经成功!mysql版本是5.1以下是从网上找的信息: 1. 首 ...

  9. mysql忘记root密码的解决方法

    Windows下mysql忘记root密码的解决方法 1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql 或者在windows任 ...

随机推荐

  1. ThreadLocal简单理解

    在java开源项目的代码中看到一个类里ThreadLocal的属性: private static ThreadLocal<Boolean> clientMode = new Thread ...

  2. 分治法求解最近对问题(c++)

    #include"stdafx.h" #include<iostream> #include<cmath> #define TRUE 1 #define F ...

  3. eclipse 快捷键大全

    注:因eclipse版本.电脑配置等原因 有些快捷键可能导致不可用(遇到些许问题可在下方评论) [Ct rl+T] 搜索当前接口的实现类 1. [ALT +/]    此快捷键为用户编辑的好帮手,能为 ...

  4. 香蕉云APP,2016下半年开发日记

    2016-6-17  数据库设计不应该过多依赖范式,适度的冗余可以加快搜索速度,在服务器的配置还可以的情况下,可以采用冗余来解决查找慢的问题.还一个是要选择好数据库引擎,例如 InnoDB 和 myi ...

  5. 玩转spring boot——开篇

    很久没写博客了,而这一转眼就是7年.这段时间并不是我没学习东西,而是园友们的技术提高的非常快,这反而让我不知道该写些什么.我做程序已经有十几年之久了,可以说是彻彻底底的“程序老炮”,至于技术怎么样?我 ...

  6. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  7. JDK动态代理

    一.基本概念 1.什么是代理? 在阐述JDK动态代理之前,我们很有必要先来弄明白代理的概念.代理这个词本身并不是计算机专用术语,它是生活中一个常用的概念.这里引用维基百科上的一句话对代理进行定义: A ...

  8. 开发者最爱的Firebug停止更新和维护

        近日,Firebug团队在其官网上宣布,Firebug将不再继续开发和维护,并邀请大家使用Firefox的内置开发工具.     Firebug最初是2006年1月由Joe Hewitt编写, ...

  9. YII 2.x 模板文件的 beginBlock、beginContent、beginCache

    echo '-----------beginBlock--------------------- <br />'; $this->beginBlock('block1', false ...

  10. document.compatMode

    在我电脑屏幕上显示的 电脑是 1920*1080这是在document.compatMode:css1Compat模式 window.screen.availWidth 1920 window.scr ...