MySQL 5.7+ 安装成功以后会弹出一个临时密码 后面需要通过临时密码设置新的密码
重置root密码:安装成功后,使用临时密码登陆:敲入命令,mysqladmin -u root -p password这时会提醒你输入密码,输入临时密码登陆成功后,会再提醒你修改密码,修改完成后你就可以正常登陆了。
如果没有保存密码有两个方式重置root密码:
1. 卸载重新安装 下面有卸载方式 dmg文件里面没有uninstall 只能手动安装
卸载方式:(Mac)sudo rm /usr/local/mysqlsudo rm -rf /usr/local/mysql*sudo rm -rf /Library/StartupItems/MySQLCOMsudo rm -rf /Library/PreferencePanes/My*vim /etc/hostconfig (and removed the line MYSQLCOM=-YES-)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.*
2. 安全方式 更新root 密码 说实话 这种方式我的不好使(囧)
MySQL修改密码
- 关闭服务
系统偏好设置->MySQL->Stop MySQL Server
- 安全模式进入MySQL
1 |
jacob@JacobdeMacBook-Pro:~$ sudo mysqld_safe --skip-grant-tables |
重新打开一个终端 进入MySQL控制台
123456789101112 |
[email protected]:~$ mysql -u rootWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.7.7-rc MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. |
提示已经成功进入控制台
修改密码,sql
语句
1 |
mysql> update mysql.user set password=password(‘123456‘) where user=‘root‘; |
坑爹的地方来了,输入后报如下错误
1 |
ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘ |
神马情况,‘password‘
列不存在,这个地方花了好多时间,原因其实很简单啊啊。
MySQL 5.7 版本中 user
表中的密码字段列名称变了,从password
变成了authentication_string
可以直接看一下user
表中的字段
12 |
mysql> use mysql;mysql> desc user; |
部分字段如下
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
Host | char(60) | NO | PRI | ||
User | char(16) | NO | PRI | ||
authentication_string | text | YES | NULL | ||
password_expired | enum(‘N’,’Y’) | NO | N | ||
password_last_changed | timestamp | YES | NULL | ||
password_lifetime | smallint(5) unsigned | YES | NULL |
最后用如下如下语句修改
123456 |
mysql> update mysql.user set authentication_string=PASSWORD(‘123456‘) where user=‘root‘;Query OK, 1 row affected, 1 warning (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 1 mysql> flush privileges;Query OK, 0 rows affected (0.00 sec) |
修改成功,再次进入控制台
1 |
mysql> show databases; |
这次可以进去了,但是随便执行一条语句依然报错啊
1 |
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement |
按照提示再次设置密码
12 |
mysql> set password for root@localhost=password(‘12345‘);Query OK, 0 rows affected, 1 warning (0.00 sec) |
便捷设置
为方便使用 MySQL
cd /etc
sudo chmod +w bashrc
sudo vi bashrc
#在bashrc最后添加下面两行
alias mysql=‘/usr/local/mysql/bin/mysql‘
alias mysqladmin=‘/usr/local/mysql/bin/mysqladmin‘
时间: 2024-08-07 22:54:41