MySQL初始化root密码以及root密码忘记解决方法
一、MySQL初始化root密码
命令:systemctl stop mysqld #停掉MySQL
命令:systemctl status mysqld #查看状态
利用mysqld的 --skip-grant-tables选项
修改myf配置,添加 skip_grant_tables=1启动设置:
打开/etc/myf配置文件
添加skip_grant_tables 一行,然后保存退出
mysql默认root用户没有密码,输入mysql –u root 进入mysql
1、进入mysql数据库
use mysql;
2、初始化root密码
mysql>update user set password=PASSWORD('123456') where User='root';
(补充:授权请戳这里)
如果前面是修改/etc/myf配置的方法来跳过授权表,则重置root密码后,应去除相应的设置以恢复正常:
二、root密码忘记解决方法(Windows环境)
1、确保MySQL服务停止
例如,在DOS窗口下输入 net stop mysql5 或 net stop mysql
2、打开第一个cmd窗口,进入MySQL安装目录下的bin目录
例如,D:\mysql-5.5.35-win32\bin>
3、跳过权限安全检查,MySQL服务运行起来后,不用输入密码就能进入数据库
例如,D:\mysql-5.5.35-win32\bin>mysqld –defaults-file=”D:\mysql-5.5.35-win32\my.ini” –console –skip-grant-tables
4、打开第二个cmd窗口,连接MySQL
输入命令:mysql -uroot -p
出现 Enter password: 直接回车
5、使用命令切换到mysql数据库:
use mysql;
6、使用命令更改root密码:
UPDATE user SET Password=PASSWORD('在此输入新密码') where USER='root';
7、刷新权限:
FLUSH PRIVILEGES;
8、退出:
quit;
9、关闭上面打开的两个cmd窗口,重新启动MySQL服务。
1.7. 查询用户密码: 查询用户密码命令:mysql> select host,user,authentication_string from mysql.user; host: 允许用户登录的ip‘位置'%表示可以远程; user:当前数据库的用户名; authentication_string: 用户密码(后面有提到此字段); 1.8. 设置(或修改)root用户密码: 默认root密码为空的话 ,下面使用navicat就无法连接,所以我们需要修改root的密码。 这是很关键的一步。此处踩过N多坑,后来查阅很多才知道在mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码。 下面直接演示正确修改root密码的步骤: 一、如果当前root用户authentication_string字段下有内容,先将其设置为空,否则直接进行二步骤。 use mysql; update user set authentication_string='' where user='root' 3.下面直接演示正确修改root密码的步骤: 二、使用ALTER修改root用户密码,方法为 ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'。如下: ALTER user 'root'@'localhost' IDENTIFIED BY 'JOhydhLfMsWyBcn#'
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'xiaoyu123';
grant all privileges on zabbix.* to zabbix@localhost;
此处有两点需要注意: 1、不需要flush privileges来刷新权限。 2、密码要包含大写字母,小写字母,数字,特殊符号。 修改成功; 重新使用用户名密码登录即可;
更多推荐
MySQL初始化root密码
发布评论