Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

时间:2022-05-08 06:02:16

忘记Root密码肿么办

Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大。如果你是第一次安装,在mysql安装完成之后,会弹出来一个root账号的临时密码,就像下面的图:

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

我第一次的时候以为是个秘钥啥的,就没有细看,直接关掉了,直到我在workbench中想要连接mysql时,试了各种密码都不行,才知道那个密码是有用的。

没办法,我就去网上找,基本上网上说的都是这样的解决办法:

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

我用这样的方法也确实进去了,不要密码,但是我也没法修改root的原始密码,倒是不影响我适用,于是新建了一个连接,然后在我的本地建了个schema,然后写了一堆建表、triggle啥的,本来一切都好好的。。。然后某天,我重启了一下电脑,发现连不进去了。不能每次都绕过认证啊,于是又开始在网上一堆搜解决办法,最后还是在*上面找到了一个适合我的办法,万能的*!!

这个适合我的办法就是,重装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了。

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

接下来,说一些关于workbench的一些小的tips吧。

最先使用workbench那会我还没有装mysql,只是在网上查了下有没有类似于powerdesinger一样强大的工具,可以用来设计mysql的数据库架构等,然后就找到了这个,当时也只是利用它的EER diagram,入口在主界面的左下角:

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

那个sakila_full的是它的一个示例模板,左边那个是我自己见的,其实就是类似于PowerDesigner啦:

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

你可以在这里面设置各个表的结构,还可以设置Foreign key,trigger等

说到foreign key就不得不提在mysql里面的两种不同的reference关系了:identifying relationship 和 non-identifying relationship,他们分别对应上图里面的实线和虚线:

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

虚线是non-identifying ,实线是identifying 的关系,翻译成中文就是强关联和弱关联,所谓强关联(identifying relationship)就是说引用的外键不是独立存在的,而是依附于它所参照的key的,或者说,某张表是依存于它所引用的表而存在的,不能独立存在的。

好吧,我知道我解释的也非常不清楚,同学们还是去google下这两个之间的区别吧,网上的例子挺多的,我就不细说了。

重点说下最后一个工具,就是在1:n前面有个类似于取色器一样的那个工具,那个是可以在现有的表结构之上建立外键关系的,先点击一个表中的某个键,然后点击它所引用的表中的某个键,这样就建立好一个foreigner key了,而且它会自动判断你这个关系是不是identifying的。我所有的外键约束都是用这个做好的。

另外我们双击某个表,就出来这样的设置界面:

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

注意我在id后面的AI列打上了勾,这个列表示是自增序列的意思,注意mysql里面自增序列是每个表独有的,而不是oracle那样需要建立一个自增序列的,这个我在之前的blog中也有叙述。然后在最右侧,可以设置你这一列的字符集以及注释信息,这些内容我们通过这样的可视化界面设置好之后,后面我会介绍如何导出SQL文件,那个文件省去了很多我们手动写代码的繁琐了,特别方便。

在上面那个截图的底端,我们还可以分别进入到index、foreign key以及trigger等的界面,都可以很直观的进行设置。

好了,在这里面,我们基本上可以通过可视化的方式,把我们的整个数据库架构搭建起来,那我们一定希望可以把相应的sql语句输出,没问题,接下里就是如何导出了:

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

file->Export->Forward Engineer SQL CREATE Script...

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

这里可以选择导出的位置,还有一些定制化的选项,勾选不同的选项会导致你的sql 脚本发生相应的改变

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

接下来会询问要导出的内容,默认你建好的东西都会帮你导出来,我这里有9个表,然后2个触发器,所以都包含进来,点击continue就到最后一步了

Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)

这里面我们可以看一下我们的之前的那些建好的表啊、触发器啊语句是如何写的,是不是很方便啊~这样做数据库的移植也非常的方便,而且因为有了这个脚本,这篇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. Web.xml详解(转)

    这篇文章主要是综合网上关于web.xml的一些介绍,希望对大家有所帮助,也欢迎大家一起讨论. ---题记 一.            Web.xml详解: (一)  web.xml加载过程(步骤) 首 ...

  2. [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

    [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...

  3. [原创]迈出NIOS的第一步,HelloNIOS

    Altera官方推出NIOS已经很久了,个人感觉C+V代码配合会是后面FPGA使用的一个主流,由C来完成一些对时序要求不高,对功能要求偏高的部分,比如运动控制等:由V来配合时序完成高时序要求的需求以及 ...

  4. 待实验:Android 增量升级

    参考资料: 增量升级(省流量更新)的Android客户端实现  http://blog.csdn.net/sgwhp/article/details/9009427 http://my.oschina ...

  5. 5.1JavaScript精华

    9.使用Promises Promises,是Javascript表现item的一种方式.它执行异步工作,在未来的某个时间点完成.遇到最多的promises,是使用Ajax请求.浏览器在后台发起HTT ...

  6. 恢复PasswordChar 默认值、取消密码框设置

    //三种都是清空 this.textBox1.PasswordChar = new char(); this.textBox1.PasswordChar = '\0'; this.textBox1.P ...

  7. django安装及简单使用

    1 web应用2 cs和bs架构3 http协议----重点 -特点:1 2 3 4 -请求头: 请求首行 get / http/1.1\r\n key:value\r\n key:value\r\n ...

  8. 【安装虚拟机一】配置VMware

    安装软件 VMware 10 CentOS-6.5-x86_64-minimal.iso 第一步:打开VMware 10  主页选择 “创建新的虚拟机” 第二步:选择自定义设置 第三步:设置虚拟机兼容 ...

  9. python-小数据池 and 编码

    # id()函数可以帮我们查看一个变量的内存地址 # a = 10 # b = 30 # print(id(a)) # 1515545088 # print(id(b)) # 1515545728 # ...

  10. GET 和 POST的区别

    1.最普遍的答案 GET使用URL或Cookie传参.而POST将数据放在BODY中. GET的URL会有长度上的限制,则POST的数据则可以非常大. POST比GET安全,因为数据在地址栏上不可见. ...