mysql忘记了root密码mysql的root用户密码怎么办

> 博客详情
1、先结束mysqld进程
#killall mysqld
不加载grant_tables而进入mysql
#mysqld_safe --skip-grant-tables &
#/usr/local/mysql/bin/mysql
mysql& use mysql
Database changed
mysql& select *
Empty set (0.00 sec)
mysql& insert into user set user='root',ssl_cipher='',x509_issuer='',x509_subject='';
(增加root用户的表)
Query OK, 1 row affected, 3 warnings (0.00 sec)
(这时可能会提示某字段如ssl_cipher无默认值, 只要加上,ssl_cipher=''; 其字段如有提示依次添加就OK了)
update user set Host='localhost',select_priv='y', insert_priv='y',update_priv='y', Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';
(这里面是修改root用户的权限)
2、带权限正常启动mysql
#service mysqld start
3、使用root用户登录(如果有phpadmin就直接用root空密码登录再修改密码或权限就可以了)
#mysql -u root -p
mysql& update user set password=password('123456') where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql& quit
试下没有密码时进入mysql
#mysql -u root
ERROR ): Access denied for user 'root'@'localhost' (using password: NO)
使用密码进入mysql
#mysql -u root -p 123456
Welcome to the MySQL monitor. C or \g.
Your MySQL connection id is 25 to server version: 4.1.20
Type '' or '\h' for help. Type '\c' to clear the buffer.
人打赏支持
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥用户名:linux_python
文章数:270
评论数:46
访问量:237201
注册日期:
阅读量:1297
阅读量:3317
阅读量:459030
阅读量:1143563
51CTO推荐博文
linux下面修改mysql的root用户密码首先是登陆到mysql数据库,如果你的密码是空,想添加新的密码,通过代码:mysql -u root 进入mysql系统;如果你的root用户有密码,想修改密码,通过代码:mysql -u root -p 回车,然后再输入旧密码进入mysql系统。#mysql -u rootmysql&mysql& updateusersetpassword=password('newPWD') whereuser='root';mysql&mysql&# service mysqld restart& &不过有时候数据库以防结果不立刻生效,可以先关闭数据库进程 # killall mysqld &然后再启动数据库 #service mysqld start。一、windows下破解:1、停止mysql服务2、进入命令窗口,进入mysql安装目录下的bin目录下,跳过权限检测,启动mysqlmysql\bin&mysqld-nt --skip-grant-tables3、重新打开一个窗口,进入bin目录下,设置新的root密码mysql\bin&mysqladmin -u root &flush-privileges password "newpassword"mysql\bin&mysqladmin -u root -p shutdown 提示你输入密码,输入newpassword进入数据库4、停止mysql server,用正常模式启动mysql,然后用上面账号就可以登陆数据库库了。二、linux下破解:vi /f# 在里面添加一行skip-grant-tables # 保存退出# 重启mysql服务services mysql restart# 这里登录mysql就不需要密码了mysql -uroot -p# 修改mysql的root密码update user set password=password(‘123’)where user='root';# 最后123456789101112131415vi/etc/my.cnfskip-grant-tables services mysql restartmysql -uroot -pupdate user set password=password(‘123’)where user='root';flush privilegesquit/date/mysql/bin/mysqld_safe&--user=mysql&&&&&#&启动mysql后台运行
vi&/etc/rc.d/rc.local&&&&&&&&&&&&&&&&&&&&&&&&#&开机启动执行&&可用于开机启动脚本
/etc/rc.d/rc3.d/S55sshd&&&&&&&&#&开机启动和关机关闭服务连接&&&&#&S开机start&&K关机stop&&55级别&后跟服务名
ln&-s&-f&/date/httpd/bin/apachectl&/etc/rc.d/rc3.d/S15httpd&&&#&将httpd启动程序脚本连接到开机启动目录mysql的三个故障解决小结1、MySQl服务无法启动& &我们在使用mysql的过程中,常会遇到MySQl服务无法启动,具体报错信息:Starting MySQL ERROR.The server quit without updating PID file (/[FAILED]l/mysql/)& &对这样的错误,网上的分析解释有很多,有人分析把skip-federated这个参数屏蔽就可以了,也有人认为删除mysql-bin.index这个文件就可以启动服务。或者检查MYSQL日志,如果提示有参数配置错误,也很容易导致这个错误。比较快速有效的解决办法就是做好数据库备份,然后只需如下两步,就可快速使数据库恢复正常。进入MYSQL安装位置下的scripts目录,执行&./mysql_install_db --defaults-file=/f --basedir=/usr/local/mysql --datadir=/var/mysql/data --user=mysql & & (初始化MYSQL数据库)然后再执行 ./mysqld_safe --user=mysql --datadir=/var/mysql/data&& &(安全启动模式)这时候就可正常启动MYSQL了。(注:参数可根据mysql实际的安装目录和数据目录进行调整)2、配置MYSQL同步时的Slave_IO_Running状态异常& &在配置MYSQL同步时,丛机显示:& &Slave_IO_Running: Connecting& &Slave_SQL_Running: Yes确保两台MYSQL主机网络是互通的。当出现这种错误时,没有显示正常状态的YES,这个问题主要是因为授权出现错误或不匹配。比如授权的用户不匹配或授权的从机IP不对,都会出现Connecting这个显示。通过show slave status\G 命令,仔细观察这两个显示状态,都为YES才正常。3、配置MYSQL同步时的Slave_SQL_Running状态异常& &在配置MYSQL同步时,丛机显示:& & Slave_IO_Running: YES& & Slave_SQL_Running: No这个问题一般有两个原因:A.程序可能在slave上进行了写操作B.也可能是slave机器重起后,事务回滚造成的.解决办法一:mysql&mysql& set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; (在start slave时,从当前位置起,跳过一个event。)mysql&解决办法二、首先停掉Slave服务:slave stop到主服务器上查看主机状态:记录File和Position对应的值进入mastermysql&+----------------------+----------+--------------+------------------+| File & & & & & & & & | Position | Binlog_Do_DB | Binlog_Ignore_DB |+----------------------+----------+--------------+------------------+| localhost-bin.000009 |
| & & weichat &| &mysql,test & & &|&+----------------------+----------+--------------+------------------+1 row in set (0.00 sec)然后到slave服务器上执行手动同步:mysql& change master to&& master_host='master_ip',& master_user='user',&& master_password='pwd',&& master_port=3306,&& master_log_file=localhost-bin.000009',&& master_log_pos=326 ;1 row in set (0.00 sec)mysql&1 row in set (0.00 sec)mysql& show slave status\G*************************** 1. row ***************************& & & & & & Master_Log_File: localhost-bin.000009& & & & Read_Master_Log_Pos: 326& & & & & & &Relay_Log_File: localhost-relay-bin.000027& & & & & & & Relay_Log_Pos: 1014014& & & Relay_Master_Log_File: localhost-bin.000009& & & & & &Slave_IO_Running: Yes& & & & & Slave_SQL_Running: Yes& & & & & & Replicate_Do_DB: weichat手动同步需要先停止master的写操作!注意:Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。4.mysql用户无法远程登录MySQL的默认配置root帐户只能在本地登录。远程登录会出现如下提示:1103 C host xxx.xxx.xxx.xx is not allowed to connec to this mysql server.或1045 C Access denied for user ‘root’@’10.163.225.155′ (using password: YES).原因是MySQL指定了某个账户只能在某个地方登录服务器;例如:root@192.168.1.155 表示账户 root 只能在IP地址为 19.168.1.155 的机器上登录MySQL服务器。解决办法:1)修改root账户可在某地址登录(地址可以是IP地址、机器名、域名、%表示任何地址)来解决问题,已root身份登录执行命令:mysql&mysql&update user set host=’%’ where user=’root’;mysql& ― 刷新MySQL的系统权限相关表;到这里已经完成了,如果还是登录不了的话就尝试重启下MySQL;2)创建一个账户使其能远程登录,已root身份登录执行命令:mysql& grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。赋予用户部分权限all privileges 或者 all 代替,表示赋予用户全部权限。当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%’表示从任何地址连接。‘连接口令’不能为空,否则创建失败。mysql&grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。如果没有joe用户就会自动创建他。mysql&grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。mysql&grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。mysql&grant all privileges on *.* to joe@localhost identified by ‘123′;给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。3)使用127.0.0.1替换localhost来试试看4)''@localhost记录的影响(用户名是空,主机字段是localhost的记录影响了)& & delete mysql.user where user = ''; 以后,service mysqld restart 重启mysqlLinux下面Oracle安装 &&&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)MySQL密码忘了怎么办?MySQL重置root密码方法
作者:快乐无极
字体:[ ] 类型:转载 时间:
本文主要介绍Windows和Linux系统下忘记密码重置root密码的方法,需要的朋友可以参考下。
MySQL有时候忘记了root密码是一件伤感的事。这里提供Windows 和 Linux 下的密码重置方法。
1.以系统管理员身份登陆系统。
2.打开cmd-----net start 查看mysql是否启动。启动的话就停止net stop mysql.
3.我的mysql安装在d:\usr\local\mysql4\bin下。
4.跳过权限检查启动mysql.
d:\usr\local\mysql\bin\mysqld-nt --skip-grant-tables
5.重新打开cmd。进到d:\usr\local\mysql4\bin下:
d:\usr\local\mysql\bin\mysqladmin -u root flush-privileges password "newpassword"
d:\usr\local\mysql\bin\mysqladmin -u root -p shutdown& 这句提示你重新输密码。
6.在cmd里net start mysql
7.搞定了。
MySQL root密码的恢复方法之一
如果忘记了MySQL root密码,可以用以下方法重新设置:
1.KILL掉系统里的MySQL进程;
&&& killall -TERM MySQLd&
2.用以下命令启动MySQL,以不检查权限的方式启动;
&&& safe_MySQLd --skip-grant-tables &&
3.然后用空密码方式使用root用户登录 MySQL;
&&& MySQL -u root&
4.修改root用户的密码;
&&& MySQL& update MySQL.user set password=PASSWORD('新密码') where User='root';&
&&& MySQL&&
&&& MySQL& quit&
重新启动MySQL,就可以使用新密码登录了。
MySQLroot密码的恢复方法二
有可能你的系统没有 safe_MySQLd 程序(比如我现在用的 ubuntu操作系统, apt-get安装的MySQL) , 下面方法可以恢复
1.停止MySQLd;
&&& sudo /etc/init.d/MySQL stop
(您可能有其它的方法,总之停止MySQLd的运行就可以了)
2.用以下命令启动MySQL,以不检查权限的方式启动;
&&& MySQLd --skip-grant-tables &
3.然后用空密码方式使用root用户登录 MySQL;
&&& MySQL -u root
4.修改root用户的密码;
&&& MySQL& update MySQL.user set password=PASSWORD('newpassword') where User='root';&
&&& MySQL&&
&&& MySQL& quit&
重新启动MySQL
&&& /etc/init.d/MySQL restart
就可以使用新密码 newpassword 登录了。
以上就是MySQL重置root密码方法的介绍,希望能给大家一个参考,了解更多MySQL语法,大家可以关注《》,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Mysql无法用root登录,忘记密码,重新设置root密码
在 linux 下
1 关闭mysql服务器,# service mysql
stop(mysql5.5) 或是$service mysqld stop(mysql5.1)
<font COLOR="# 以安全模式进入mysql,# /usr/bin/mysql_safe --skip-grant-tables &
3 在新开一个shell
&&&&&&&&&&&
shell&#&mysql
UPDATE mysql.user SET
Password=PASSWORD('MyNewPass')
-&&&&&&&&&&&&&&&&&&&
WHERE User='root';
mysql& FLUSH PRIVILEGES;
当然这句也可以单独使用来更改root用户的密码。
注意在PASSWORD('')中单引号之内的是root用户的密码。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 mysql5.6忘记root密码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信