方法如下:
1、打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址
2、打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。
3、输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法 *** 作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。
4、然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。
5、输入show databases 可以看到所有数据库说明成功登陆。
6、其中mysql库就是保存用户名的地方。输入 use mysql 选择mysql数据库。
7、show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。
8、输入select user,host,password from user 来查看账户信息。
9、更改root密码,输入update user set password=password('123456') where user='root' and host='localhost'
10、再次查看账户信息,select user,host,password from user 可以看到密码已被修改。
11、退出命令行,重启mysql数据库,用新密码尝试登录。
12、测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。
13、重启数据库之后之所以不带密码任然能够登录是因为数据库里存在设无须口令的账户。
扩展资料:
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
1:使用SHOW语句找出在服务器上当前存在的数据库:
mysql>SHOW DATABASES
2:创建一个数据库MYSQLDATA
mysql>CREATE DATABASE MYSQLDATA
3:选择你所创建的数据库
mysql>USE MYSQLDATA(按回车键出现Database changed 时说明 *** 作成功!)
4:查看现在的数据库中存在什么表
mysql>SHOW TABLES
5:创建一个数据库表
mysql>CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1))
6:显示表的结构:
mysql>DESCRIBE MYTABLE
7:往表中加入记录
mysql>insert into MYTABLE values (”hyq”,”M”)
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql>LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database
mysql>source d:/mysql.sql
10:删除表
mysql>drop TABLE MYTABLE
11:清空表
mysql>delete from MYTABLE
12:更新表中数据
mysql>update MYTABLE set sex=”f” where name=’hyq’
参考资料来源:百度百科:MySQL数据库
命令行都要以管理员运行1:net stop mysql停止mysql服务
2:mysqld --console --skip-grant-tables --shared-memory启动MySQL服务的时候跳过权限表认证
3:由于上面的命令行被mysql的服务给占用,我们得重新开启一个新的命令行
4:在新开的命令行中执行mysql
5:update user set authentication_string = '' where user='root'将root用户的密码清空
6:quit 退出,然后在之前的命令行将我们开启的mysql服务停止掉(Ctrl+C或者关闭命令行),然后执行net start mysql 重新启动mysql服务
7:在我们之后开启的命令行中输入mysql -uroot -p 然后按enter键,输入密码继续按enter键(这里密码已经被清空),
8:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' 修改密码
9:退出后,使用新密码登录
注意的地方,网上有些给的是使用update命令在第五步直接修改密码为我们重置的密码,然后使用flush privileges命令刷新权限再退出,重启mysql服务,然后使用我们重置的密码重新登陆。然而你会发现登录会提示密码不正确,
下面是使用update命令将密码修改为root
登录报错,说明使用update直接修改密码是不可以的。我们也可以从上面看到update保存的密码是明文
使用alter命令修改后的密码是加密的
update 方法保存的为明文是由于没有使用password()方法,而password()方法在mysql5.7.6版本后已经废弃了,所以必须alter命令去修改密码了。
如果在第5步直接使用alter命令去修改密码也是不可以的,会报错
说是在免鉴权的情况下不支持这个 *** 作
所以我们必须先清空密码,然后再使用alter命令修改密码
ps:mysql5.7.6版本后 废弃user表中 password字段 和 password()方法,所以旧方法重置密码对mysql8.0版本是行不通的,共勉
希望能帮助你,还请及时采纳谢谢
方法1 用SET PASSWORD命令1
1、打开终端win+r输入cmd回车即可打开;
2、通过mysql -u用户名 -p指定root用户登录MySQL,输入后回车会提示输入密码。
3、修改MySQL的root用户密码,格式:mysql>set password for 用户名@localhost = password('新密码')例子:mysql>set password for root@localhost = password('shapolang')上面例子将用户root的密码更改为shapolang ;
重新登录,输入新密码shapolang就ok了;
END
方法2 用mysqladmin
1
1、打开终端win+r输入cmd回车即可打开;
2、修改MySQL的root用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -pshapolang password 123456
上面例子将用户root原来的密码shapolang改为新密码123456
重新登录,输入新密码123456就ok了;
END
方法3 用UPDATE直接编辑user表
1
1、首先登录MySQL。
2、 连接权限数据库: use mysql。3、改密码:update user set password=password("shapolang") where user="root"(别忘了最后加分号) 。 4、刷新权限(必须步骤):flush privileges
重新登录,输入新密码shapolang就ok了;
END
方法4 忘记root密码的时候
1
1、关闭正在运行的MySQL服务。
2、打开DOS窗口,转到mysql\bin目录。 3、 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 4、再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。 6、连接权限数据库: use mysql。 7、改密码:update user set password=password("root") where user="root"(别忘了最后加分号) 。 8、刷新权限(必须步骤):flush privileges 。 9、退出 quit。
重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)