十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
第一步:停止MySQL的服务:net stop mysql
10年积累的网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有治多免费网站建设让你可以放心的选择与我们合作。
第二步:命令行进入到MySQL的安装目录bin;
第三步:跳过权限检查启动MySQL:mysqld ––skip-grant-tables
第四步:重新打开一个命令窗口。
mysql use mysql
mysql insert into user set user='root',ssl_cipher=''x509_issuer='',x509_subject='';
mysqlupdate 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';
mysqlexit;
第五步:杀死MySQL进程,重启Mysql服务:
mysqld --initialize;
net start mysql;
使用phpMyAdmin程删除条root@localhost权限知道原root用户丢失所权限
现象:
控制台mysql -u root -p
能登陆登陆show grants
发现面权限
GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*1A7CAB‘
现root用户干复root权限
网搜许用mysqld_safe --SKIP-GRANT-TABLES启复
知道原运行mysqld_safe命令现错误消息:
141111 20:22:41 mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe
See for more information
ps:我mysql没安装/usr/local/mysql/安装其
忘记MYSQLroot口令通面程恢复
1.向mysqldserver发送kill命令关掉mysqldserver(kill-9),存放进程ID文件通MYSQL数据库所目录
kill`cat/mysql-data-directory/hostname.pid`
必须UNIXroot用户或者所运行SERVER同等用户才能执行操作
WIN32用winmysqladmin.exe关闭服务即
2.使用`--skip-grant-tables'参数启mysqld
3.使用`mysql-hhostnamemysql'命令登录mysqldserver用grant命令改变口令
用usemysql;updateusersetpassword=password('yourpass')whereuser='root'
做:mysqladmin-hhostname-uuserpassword'newpassword'
4.载入权限表:mysqladmin-hhostnameflush-privileges或者使用SQL命令`FLUSHPRIVILEGES'
重启mysqld
我解决mysql目录重新命名mysql-1copy至其mysql数据库服务器通rootmysql-1数据库user表root用户权限改再copy变mysql:)
如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。 1.向mysqldserver发送kill命令关掉mysqldserver(不是kill-9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。 kill`cat/mysql-data-directory/hostname.pid` 你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。 WIN32下用winmysqladmin.exe关闭服务即可 2.使用`--skip-grant-tables'参数来启动mysqld。 3.使用`mysql-hhostnamemysql'命令登录到mysqldserver,用grant命令改变口令。 也可以用usemysql;updateusersetpassword=password('yourpass')whereuser='root' 也可以这样做:mysqladmin-hhostname-uuserpassword'newpassword' 4.载入权限表:mysqladmin-hhostnameflush-privileges,或者使用SQL命令`FLUSHPRIVILEGES'。 当然,在这里,你也可以重启mysqld 我解决了,只是把mysql目录重新命名为mysql-1后,copy至其它mysql数据库服务器中,通过root将mysql-1数据库中的user表的root用户权限改过来再copy回去变为mysql就可以了。:)
以前回答过这个问题,但是现在搜索不到了,再写一次吧。
用了 --skip-grant-tables 后,在 flush privileges 之前是无法使用 grant 命令的。
按下列步骤建立 root 用户:
insert into mysql.user (host, user, password) values ('localhost', 'root', password('密码'));
flush privileges;
grant all on *.* to 'root'@'localhost';
然后退出再重启服务,其他用户自己慢慢重建吧。
相关资料:
mysql|linux mysql命令大全
mysql|Discuz!的最新Webshell法
mysql|php代码审计
mysql|mysql中的root账户不小心删除了,怎么恢复root用户
mysql|Mysql5.5.13主从配置
mysql|mysql 数据逻辑备份与恢复(2)
mysql|Mysql字符串截取函数SUBSTRING的用法说明
我给你回答更为详细的解答吧
一、关闭mysqld服务。服务名称则根据电脑上的实际服务名来决定,windows下则用以管理员身份运行cmd.exe程序,然后输入:net stop mysql的服务名称。
二、打开一个cmd窗口,以跳过权限检查的方式启动mysql服务。在cmd窗口中输入如下:
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --console --skip-grant-tables。--defaults-file选项指定mysql服务器的默认配置文件。而--skip-grant-tables选项表示忽略权限检查。这个窗口一直开着
三、更新名称为mysql这个数据库名中的user表中的root用户名的密码字段authentication_string。操作如下:
先开启另一个cmd窗口,然后输入命令:mysql --user=root -p
然后直接回车,不用输入密码
然后查看该服务器上的所有数据库名称,输入命令:show databases;
然后进入名称为mysql的这个数据库,输入命令:use mysql;
然后修改密码:update user set authentication_string=password('1314520') where user='root';
然后刷新权限输入命令:flush privileges;
再退出输入命令:quit;
最后重启服务器:net start mysql57;
四、到此,mysql服务的root权限的密码重置了。注意上面的authentication_string字段,因版本不同而有所不同,mysql5.7版本的是authentication_string字段,以前的版本有的是password字段;赋值密码时,需要使用数据库自带的password函数,而不能直接赋值为明文密码。另外还有可能因为The innodb_system data file 'ibdata1' must be writable服务器无法启动,所以建议重启该服务前删除mysql的配置文件my.ini中datadir所代表的目录下面的两个文件ib_logfile0,ib_logfile1这两个文件。
如果是把root授权了全网段的话,可以通过修改 mysql.user 里面的host 来修改. sql: update mysql.user set host="127.0.0.1" 这样就只有本机能登陆了.
如果是某个账户有读写执行的权限. 这个是可以通过重新授权来做限制的. 如果想删除某个账户 可以删除mysql.user里面的这个账户的 所有记录.