mysql忘记root密码做法
skip-grant-tables的解法
首先,关闭实例
这里,只能通过kill mysqld进程的方式。
注意:不是mysqld_safe进程,也切忌使用kill -9。
# ps -ef |grep mysqld
root 6220 6171 0 08:14 pts/0 00:00:00 /bin/sh bin/mysqld_safe --defaults-file=my.cnf
mysql 6347 6220 0 08:14 pts/0 00:00:01 /usr/local/mysql57/bin/mysqld --defaults-file=my.cnf --basedir=/usr/local/mysql57 --datadir=/usr/local/mysql57/data --plugin-dir=/usr/local/mysql57/lib/plugin --user=mysql --log-error=slowtech.err --pid-file=slowtech.pid --socket=/usr/local/mysql57/data/mysql.sock --port=3307
root 6418 6171 0 08:17 pts/0 00:00:00 grep --color=auto mysqld
# kill 6347
使用--skip-grant-tables参数,重启实例
bin/mysqld_safe --defaults-file=my.cnf --skip-grant-tables --skip-networking &
# mysql -S /usr/local/mysql57/data/mysql.sock
修改密码
mysql> update mysql.user set authentication_string=password('123456') where host='localhost' and user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
修改密码后,打开mysql客户端连接数据库,执行操作时会提示需要更改密码
set password for root@'localhost'=password('123456');
最后,重启数据库
注意:
这里的update语句针对的是MySQL 5.7的操作,如果是在5.6版本,修改的应该是password字段,而不是authentication_string。更多相关文章
- 将jQuery datepicker应用到多个实例
- 利用javascript实现遍历xml文件的代码实例
- javascript适合移动端的响应式瀑布流插件实例演示
- Net.Socket实例不会在NodeJS中消失
- 常用验证JS代码基础及实例
- javascript小实例,PC网页里的拖拽
- 获取Backbone Model实例的模型/类名
- python:如何在Linux中编写守护进程
- Python标准库06 子进程 (subprocess包)