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任 ...
随机推荐
- Winserver下的Hyper-v “未在远程桌面会话中捕获到鼠标”
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 服务器相关的知识点:http://www.cnblogs.com/dunitia ...
- Java中Comparable与Comparator的区别
相同 Comparable和Comparator都是用来实现对象的比较.排序 要想对象比较.排序,都需要实现Comparable或Comparator接口 Comparable和Comparator都 ...
- 高效而稳定的企业级.NET Office 组件Spire(.NET组件介绍之二)
在项目开发中,尤其是企业的业务系统中,对文档的操作是非常多的,有时几乎给人一种错觉的是”这个系统似乎就是专门操作文档的“.毕竟现在的很多办公中大都是在PC端操作文档等软件,在这些庞大而繁重的业务中,单 ...
- CSS——关于z-index及层叠上下文(stacking context)
以下内容根据CSS规范翻译. z-index 'z-index'Value: auto | <integer> | inheritInitial: autoApplies to: posi ...
- C#异步编程
什么是异步编程 什么是异步编程呢?举个简单的例子: using System.Net.Http; using System.Threading.Tasks; using static System.C ...
- JDBC简介
jdbc连接数据库的四个对象 DriverManager 驱动类 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 ...
- PHP设计模式(一)简单工厂模式 (Simple Factory For PHP)
最近天气变化无常,身为程序猿的寡人!~终究难耐天气的挑战,病倒了,果然,程序猿还需多保养自己的身体,有句话这么说:一生只有两件事能报复你:不够努力的辜负和过度消耗身体的后患.话不多说,开始吧. 一.什 ...
- Kafka:主要参数详解(转)
原文地址:http://kafka.apache.org/documentation.html ############################# System ############### ...
- IIS启动失败,启动Windows Process Activation Service时,出现错误13:数据无效 ;HTTP 错误 401.2 - Unauthorized 由于身份验证头无效,您无权查看此页
因为修改过管理员账号的密码后重启服务器导致IIS无法启动,出现已下异常 1.解决:"启动Windows Process Activation Service时,出现错误13:数据无效&quo ...
- linux字符串url编码与解码
编码的两种方式 echo '手机' | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g' echo '手机' |tr -d '\n' |od -An -tx ...