(方法1)/etc/init.d/mysqld stop
(方法2)rcmysqld stop
(方法3)service mysqld stop
(方法4)kill -TERM mysqld
2、启动mysql服务器(--skip-grant-tables忽略用户表)
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
3、重新使用root用户登录数据库
mysql -u root mysql
4、重新设置root密码
mysql>UPDATE user SET Password=PASSWORD('newpassword') where USER='root'
5、刷新权限
mysql>FLUSH PRIVILEGES
6、退出mysql
mysql>quit
7、重启mysql
(1)/etc/init.d/mysqld restart
(2)service mysqld restart
8、使用root用户重新登录mysql
(方法1)mysql -uroot -p
(方法2)service mysqld start
说到--skip-add-locks首先要知道--add-locks,这是导出时的默认值,意思是导出某张表时,会在该表上加个锁,导出完成后执行unlock,如果导出过程中表数据有变动(增删改),对应的sql就会被挂起,直到unlock之后才能继续执行,这样执行导出会更高效!
但是,如果导出的表,数据量比较大,会导致导出表的时间比较长,而如果业务 *** 作表又比较频繁的话,默认加锁的 *** 作就造成大量业务sql堵塞,影响实际业务运行,不能因为要高效而抛弃了实际业务,这个时候就要用--skip-add-locks跳过加锁模块
方法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
方法4:在忘记root密码的时候,可以这样
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql。
6. 改密码:update user set password=password("123") where user="root"(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)