window系统mysql安装后获取默认密码
未设置密码,获取默认密码方法
第一步:进去mysql根目录下,如果没有data文件夹可以新建一个,找不到my.ini文件也新建一个(在根目录下创建的my.ini,重新配置的参数会覆盖源文件的参数,所以找不到源文件也没关系,linux系统下配置文件为my.cnf)
在my.ini配值参数如下:
[mysqld]
#mysql所在目录
basedir=C:\Program Files\MySQL\MySQL Server 5.7
#mysql所在目录\data,为数据存储地址
datadir=C:\Program Files\MySQL\MySQL Server 5.7\data
#开启时间戳打印
explicit_defaults_for_timestamp=true
第二步:以 管理员 身份打开cmd,cd到mysql目录\bin下,输入: mysqld --install
这个命令是安装服务执行完后, 提示英文的成功(移除服务命令为:mysqld --remove )
第三步:执行 mysqld --initialize --user=mysql --console
也可以执行 mysqld --initialize --console ,执行这一步,是因为在MySQL5.7中没有data文件夹,需要用这几个命令产生data文件夹,并且初始化随机登陆密码,执行完会出现一大片英文,找到这一句A temporary password is generated for root@localhost: 默认密码就可以了
在data找到.err 结尾的文件打开,里面存有打印的信息,也存着刚打印的默认密码
第四步:执行 mysql -u root -p 默认密码,进去mysql更改新密码
输入更改密码命令
use mysql;
update user set password=password('新密码') where user='root' and host='localhost';
flush privileges;
结束后,重新登陆mysql,输入新密码。
如果初始密码总是不对,用下面方法,无需密码登录
先删除根目录下data文件夹下的所有文件
重新运行命令:mysqld --initialize-insecure --user=mysql --explicit_defaults_for_timestamp
无任何报错后,运行命令:mysqld -install
成功后,开启mysql服务:net start mysql
登录mysql,密码不用输入,登录好了以后再自行修改密码
拓展知识:更改密码的三种方式
方法1: 用SET PASSWORD命令
首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表 (忘记密码,推荐使用)
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;