点滴记录——Linux Mysql数据库误删root用户

转载请说明出处:http://blog.csdn.net/cywosp/article/details/42145779

在Linux中有时安装Mysql会出现没有root用户的状况,或者说root账户被从mysql.user表中误删除,这样就导致很多权限无法控制。解决办法是重新创建root用户,并授予所有权限,具体方法如下:

1. 修改/etc/my.conf文件,添加skip-grant-tables

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

skip-grant-tables

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

2. 重启mysql服务

/etc/init.d/mysqld restart

3. 使用下列命令登陆mysql,无需密码

mysql

4. 登陆后,重新添加root用户

use mysql;

insert into user set user=‘root‘,ssl_cipher=‘‘,x509_issuer=‘‘,x509_subject=‘‘;

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‘;

先退出:quit;

5. 使用下列命令重新登陆, 设置root的密码

mysql -u root

update mysql.user set password=password(‘yourrootpasswd‘) where user=‘root‘;

update user set host = ‘%‘ where user = ‘root‘; #设置远程机器可访问mysql,如果不需要可不是设置

flush privileges;

quit;

6. 修改/etc/my.conf文件,将skip-grant-tables去掉,然后重启mysql

/etc/init.d/mysqld restart

7. 正常则一切OK

参考:

[1]. http://jingyan.baidu.com/article/7c6fb4287c613880642c9003.html

时间: 2024-07-28 23:30:48

点滴记录——Linux Mysql数据库误删root用户的相关文章

如何重置MySQL数据库的root用户密码

问题 如何重置MySQL数据库的root用户密码 解决方案 当忘记MySQL的root密码的时候,可以进行如下的步骤重新设置MySQL的root密码: ■■Linux的平台■■ 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库.因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态

linux系统下修改mysql 数据库的root用户密码和开启远程用户

首先进入终端 1.输入以下命令显示mysql进程号 ps -A |grep -i mysql 2.输入以下命令kill掉上面显示的进程 kill -9 进程号1 进程号2 3.输入以下命令进入mysql安全模式 mysqld_safe --skip-grant-tables & 4.输入以下命令修改密码,注意末尾的分号必须有,每输入一行就回车 use mysql; update user set password = PASSWORD('你的密码') where user = 'root'; e

mysql误删root用户

在操作mysql时误删除root用户,如何进行恢复 在安装hive时候误删除root用户,存在的用户没有权限,解决方法如下. 1.首先在/etc/my.cnf文件中 mysqlID下面添加 skip-grant-tables 用来跳过安全密码验证 2.在服务上重启mysql服务 [root@master2 bin]# systemctl restart mysqld.service 3.使用mysql直接进入mysql [root@master2 bin]# mysql 4.使用mysql数据库

Linux MYSQL 数据库

Linux MYSQL  数据库 1.1.概述: DBMS datebase management system  数据库管理系统 DML:date manapulate lanaguage  数据操作语言 INSERT,REPLACE,UPDATE,DELETE DLL: Date Defination Lanauage 数据定义语言 CREATE,创建数据库 ALTER,修改数据库 DROP 删除数据库和表 DCL:Date Control Language 数据控制语言 常用数据库软件 O

CentOS6.7 Mysql5.6.35版本 源码编译+Mysql数据库忘记root密码如何修改

源码编译MySQL [[email protected] ~]# yum install cmake nucrses-devel –y      //安装编译环境及终端操作的开发包 -- Installed: cmake.x86_64 0:2.8.12.2-4.el6 Dependency Installed: libarchive.x86_64 0:2.8.3-7.el6_8 Complete! 下载软件包 [[email protected] ~]# wget http://ftp.ntu.

Linux mysql数据库搭建

设共享软件包地址192.168.80.10 setenforce  0 service  iptables  stop 1.共享软件包 mount.cifs   //192.168.80.10/r   /media/                 匿名访问共享文件夹 cd   /media/ ls     查看是否挂载成功了 tar   xzvf   mysql-5.5.24.tar.gz   -C   /opt/        解压至/opt/ cd   /opt/ mysql-5.5.24

MySQL密码重置(root用户)

分别在Windows下和Linux下重置了MYSQL的root的密码: 在windows下: 1:进入cmd,停止mysql服务:Net stop mysql 到mysql的安装路径启动mysql,在bin目录下使用mysqld-nt.exe启动, 2:执行:mysqld-nt --skip-grant-tables(窗口会一直停止) 3:然后另外打开一个命入令行窗口,执行mysql(或者直接进入Mysql Command Line Cilent),此时无需输入密码即可进入. use mysql

linux下用非root用户重启导致ssh无法连接的问题

问题描述 安装好了centOS服务器,一直用Secure CRT工具通过ssh服务来远程连接linux,很方便的进行各种操作.今天偶然尝试了一下在非root的一般用户下执行重启服务器的命令,发现一般用户是没有权限执行重启的,果断使用sudo命令再次执行,终于重启成功,却发现Secure CRT再也连不上服务器了,郁闷不已,去网上查找各种资料总算有了一点粗浅的认识,记录下来,也让其他的linux beginner们能够少走些弯路吧. 普通用户下执行重启命令: shutdown -r now 或者

误删root用户,如何恢复

误删root用户,如何恢复 1.修改配置文件,获取权限登录 [email protected]#vi /etc/my,cnf 添加:skip-grant-tables [email protected]#systemctl restart mysqld 2.登录创建root用户 [email protected]#mysql mysql>use mysql; insert into user set user='root',ssl_cipher='',x509_issuer='',x509_su