MAC下安装MySql遇到的问题
2015-12-07 20:17
716 查看
第一次在mac上安装mysql,首先从官网上下了最新版的mysql,下载的是dmg的
,下载完成后直接根据提示下一步下一步就完成安装了。在最后安装成功后有个弹框:大致意思是帮我设置了一个临时的密码zYRlG3Dw6h=d(随机生成的),如果要修改可以去mysql手册查询重置方法。
之后我设置了环境变量:
在命令行输入 vim ~/.bash_profile ,在打开的.bash_profile里面输入了
alias mysql=’/usr/local/mysql/bin/mysql’
alias mysqladmin=’/usr/local/mysql/bin/mysqladmin’
alias ls=’ls -G’
保存退出。完成设置后我准备登录mysql了。
我本以为记住这密码就可以登录了,之后再在里面修改即可。
于是打开命令行输入mysql -u root -p ,再根据提示输入上面密码,然后就是各种错误提示:
(1)Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)。
(2)ERROR 1045 (28000): Access denied for user ‘fs’@’localhost’ (using password: NO)。
之后我又通过图形化窗口连接数据库,输入密码后提示我:密码已过期。
于是乎在网上找各种解决方法,各种尝试,按网上的步骤重置密码,都没有成功,最后结合网上的步骤和mysql帮助手册才成功重置密码,在此记录一下。
解决步骤:
(1)首先关闭mysql服务。 在苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(这一步尤为重要,我前几次尝试就是没先执行这一步 才一直无法按后面步骤重启mysql)。
(2)在命令行输入 cd /usr/local/mysql/bin/定位到bin目录下,再输入sudo su切换到超级管理员的身份。再输入
./mysqld_safe –skip-grant-tables & 命令禁止mysql密码验证的功能。
(3)新开启一个命令窗口,在命令行输入mysql后,可以直接进入mysql了。这是需要重置密码。
<1>先尝试输入:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123’,如果提示Query OK则表明密码成功修改为123。如果提示这个错误You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords。则尝试输入:UPDATE mysql.user SET authentication_string = PASSWORD(‘123’) WHERE User = ‘root’ AND Host = ‘localhost’;(后面一般都会成功)。
<2>再输入FLUSH PRIVILEGES;之后输入exit退出mysql后,就可以用 你设置的密码登录了。
下面是我重置密码时走的弯路:我按照官网使用手册中的Resetting the Root Password: Unix and Unix-Like Systems这个目录下的步骤一步一步的来,在输入ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123’;后始终报这个错
ERROR 1131 (42000): You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords。我网上查了都没有一个很好地解释。最后我看到后面有这么一句:If the ALTER USER statement fails to reset the password, try repeating the procedure using the following statements to modify the user table directly:我抱着试试的态度将其对应的语句(就是上面update语句和flush命令)输入后提示我Query OK,此时我仿佛看到了希望,之后立刻退出mysql,用root和123登录,果然成功进入mysql。
,下载完成后直接根据提示下一步下一步就完成安装了。在最后安装成功后有个弹框:大致意思是帮我设置了一个临时的密码zYRlG3Dw6h=d(随机生成的),如果要修改可以去mysql手册查询重置方法。
之后我设置了环境变量:
在命令行输入 vim ~/.bash_profile ,在打开的.bash_profile里面输入了
alias mysql=’/usr/local/mysql/bin/mysql’
alias mysqladmin=’/usr/local/mysql/bin/mysqladmin’
alias ls=’ls -G’
保存退出。完成设置后我准备登录mysql了。
我本以为记住这密码就可以登录了,之后再在里面修改即可。
于是打开命令行输入mysql -u root -p ,再根据提示输入上面密码,然后就是各种错误提示:
(1)Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)。
(2)ERROR 1045 (28000): Access denied for user ‘fs’@’localhost’ (using password: NO)。
之后我又通过图形化窗口连接数据库,输入密码后提示我:密码已过期。
于是乎在网上找各种解决方法,各种尝试,按网上的步骤重置密码,都没有成功,最后结合网上的步骤和mysql帮助手册才成功重置密码,在此记录一下。
解决步骤:
(1)首先关闭mysql服务。 在苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(这一步尤为重要,我前几次尝试就是没先执行这一步 才一直无法按后面步骤重启mysql)。
(2)在命令行输入 cd /usr/local/mysql/bin/定位到bin目录下,再输入sudo su切换到超级管理员的身份。再输入
./mysqld_safe –skip-grant-tables & 命令禁止mysql密码验证的功能。
(3)新开启一个命令窗口,在命令行输入mysql后,可以直接进入mysql了。这是需要重置密码。
<1>先尝试输入:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123’,如果提示Query OK则表明密码成功修改为123。如果提示这个错误You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords。则尝试输入:UPDATE mysql.user SET authentication_string = PASSWORD(‘123’) WHERE User = ‘root’ AND Host = ‘localhost’;(后面一般都会成功)。
<2>再输入FLUSH PRIVILEGES;之后输入exit退出mysql后,就可以用 你设置的密码登录了。
下面是我重置密码时走的弯路:我按照官网使用手册中的Resetting the Root Password: Unix and Unix-Like Systems这个目录下的步骤一步一步的来,在输入ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123’;后始终报这个错
ERROR 1131 (42000): You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords。我网上查了都没有一个很好地解释。最后我看到后面有这么一句:If the ALTER USER statement fails to reset the password, try repeating the procedure using the following statements to modify the user table directly:我抱着试试的态度将其对应的语句(就是上面update语句和flush命令)输入后提示我Query OK,此时我仿佛看到了希望,之后立刻退出mysql,用root和123登录,果然成功进入mysql。
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- 什么是Mac OS X?跟Linux有什么区别
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法