Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql还原根权限_Mysql_Database_Root - Fatal编程技术网

mysql还原根权限

mysql还原根权限,mysql,database,root,Mysql,Database,Root,在尝试在mysql phpmyadmin中导航或了解有关用户的更多信息时,我意外地删除了用户根目录的权限。现在我无法创建新数据库、新用户等。如何将权限重新恢复到用户根目录 当我犯了错误时,我想做的是为我的一个数据库创建一个唯一用户。我想删除root的权限,仅针对该特定数据库,而不是针对所有数据库。似乎我删除了整个mysql的root的特权 已尝试 USE mysql; UPDATE user SET Grant_priv='1' WHERE User='root'; FLUSH PRIVILEG

在尝试在mysql phpmyadmin中导航或了解有关用户的更多信息时,我意外地删除了用户根目录的权限。现在我无法创建新数据库、新用户等。如何将权限重新恢复到用户根目录

  • 当我犯了错误时,我想做的是为我的一个数据库创建一个唯一用户。我想删除root的权限,仅针对该特定数据库,而不是针对所有数据库。似乎我删除了整个mysql的root的特权
  • 已尝试

    USE mysql;
    UPDATE user SET Grant_priv='1' WHERE User='root';
    FLUSH PRIVILEGES;
    
    UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
    FLUSH PRIVILEGES;
    GRANT ALL ON *.* TO 'root'@'localhost';
    
    GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' IDENTIFIED BY 'qwe';
    
    获取

    错误 SQL查询:

    使用mysql

    MySQL说:文档

    1044-拒绝用户“root”@“localhost”访问数据库“mysql”
    已尝试

    USE mysql;
    UPDATE user SET Grant_priv='1' WHERE User='root';
    FLUSH PRIVILEGES;
    
    UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
    FLUSH PRIVILEGES;
    GRANT ALL ON *.* TO 'root'@'localhost';
    
    GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' IDENTIFIED BY 'qwe';
    
    获取

    错误 SQL查询:

    更新mysql.user SET Grant_priv='Y', Super_priv='Y'其中User='root'

    MySQL说:文档

    1142-表“user”的用户“root”@“localhost”的更新命令被拒绝
    更新

    我试着创建新用户

    创建由“用户”标识的用户“用户”@“本地主机”

    我得到了这个错误

    1227-访问被拒绝;此操作需要(至少一个)创建用户权限
    已尝试

    USE mysql;
    UPDATE user SET Grant_priv='1' WHERE User='root';
    FLUSH PRIVILEGES;
    
    UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
    FLUSH PRIVILEGES;
    GRANT ALL ON *.* TO 'root'@'localhost';
    
    GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' IDENTIFIED BY 'qwe';
    
    获取

    1045-拒绝用户“root”@“localhost”的访问(使用密码:是)
    欢迎您提出任何建议。

    如果您错误地删除了根用户,您可以做一件事:

  • 停止MySQL服务
  • 安全运行mysqld_——跳过授权表&
  • 键入mysql-u root-p并按enter键
  • 输入您的密码
  • 在mysql命令行输入:useysql; 然后执行此查询:

     INSERT into user (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`) values('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0');
    

  • 然后重新启动mysqld

    对于MariaDB 5.5.56和其他版本,命令需要:

    INSERT into user (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `Event_priv`, `Trigger_priv`, `Create_tablespace_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`) values('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0');
    

    添加
    Event_priv
    Trigger_priv
    Create_tablespace_priv

    如何启动mysql服务?是否在cmd中启动?我使用的是windows。如果在cmd中,我如何安全运行mysqld?很抱歉,数据库非常新。我想我没有删除根..我只是删除了特权。因为我可以看到我目前以root用户身份登录windows,所以转到服务,在那里您将找到服务列表及其状态。转到MySql右键单击并单击停止。