mysql-管理命令【创建用户、授权、修改密码、删除用户和授权、忘记root密码】

一、创建用户

命令:

CREATE USER ‘username‘@‘host‘ IDENTIFIED BY ‘password‘; 

关键参数说明:

  username - 创建登录用户名,

  host - 指定该用户在哪个主机上可以登陆,本地用户可用localhost, 想让该用户可以从任意远程主机登陆,可以使用通配符%.

  password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.

例子: 

CREATE USER ‘code‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
CREATE USER ‘code‘@‘192.168.1.101_‘ IDENDIFIED BY ‘123456‘;
CREATE USER ‘code‘@‘%‘ IDENTIFIED BY ‘123456‘;
CREATE USER ‘code‘@‘%‘ IDENTIFIED BY ‘‘;
CREATE USER ‘code‘@‘%‘; 

二、给用户授权

命令:

GRANT privileges ON databasename.tablename TO ‘username‘@‘host‘;

关键参数说明:

  privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
  databasename:数据库名,*代表所有的数据库
  tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

  host - 指定该用户在哪个主机上可以登陆,本地用户可用localhost, 想让该用户可以从任意远程主机登陆,可以使用通配符%.

  password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.

例子: 

GRANT SELECT, INSERT ON test.user TO ‘code‘@‘%‘;
GRANT ALL ON *.* TO ‘code‘@‘%‘;
GRANT ALL ON maindataplus.* TO ‘code‘@‘%‘;

注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:(取消授权用户给其他用户授权的权利)
GRANT privileges ON databasename.tablename TO ‘username‘@‘host‘ WITH GRANT OPTION;

三、修改密码

命令:

SET PASSWORD FOR ‘username‘@‘host‘ = PASSWORD(‘newpassword‘);-- 如果是当前登陆用户用:SET PASSWORD = PASSWORD(‘newpassword");

例子: 

SET PASSWORD FOR ‘code‘@‘%‘ = PASSWORD("123456");

四、 撤销用户权限
命令:

REVOKE privilege ON databasename.tablename FROM ‘username‘@‘host‘;

关键参数说明:
privilege, databasename, tablename:同授权部分

例子: 

REVOKE SELECT ON *.* FROM ‘code‘@‘%‘;

注意:
假如你在给用户‘code‘@‘%‘授权的时候是这样的(或类似的):

GRANT SELECT ON test.user TO ‘code‘@‘%‘,则在使用REVOKE SELECT ON *.* FROM ‘code‘@‘%‘;命令并不能撤销该用户对test数据库中user表的SELECT 操作。

相反,如果授权使用的是GRANT SELECT ON *.* TO ‘code‘@‘%‘;则REVOKE SELECT ON test.user FROM ‘code‘@‘%‘;命令也不能撤销该用户对test数据库中user表的Select权限。

具体信息可以用命令SHOW GRANTS FOR ‘code‘@‘%‘; 查看。

五、删除用户
命令:

DROP USER ‘username‘@‘host‘;

六、忘记root密码

1、修改Mysql数据库 my.cnf 配置

# vi /etc/my.cnf 

  在[mysqld]的段中加上一句:skip-grant-tables ,保存并且退出;

[mysqld]
......
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables 

2. 重启mysqld服务

# systemctl restart mysqld

4.登录mysql修改root密码

[[email protected] /]# mysql
......
mysql> update mysql.user set authentication_string=password(‘123456‘)
where host =‘localhost‘ and user=‘root‘;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>

注意:

MySQL 5.7的更新的是user表中authentication_string字段,

MySQL 5.6的更新的是user表中password字段,


修改用户密码后使用命令:update mysql.user set password=password(‘123456‘) where host=‘localhost‘ and user=‘root‘;
更新用户权限:   flush privileges

5. 改回配置重启mysqld

[[email protected] /]# vi /etc/my.cnf
[[email protected] /]# systemctl restart mysqld
[[email protected] /]# mysql -uroot -p123456

资料参考:

https://www.cnblogs.com/zhongyehai/p/10695659.html

https://blog.csdn.net/bingcheng529/article/details/88557599

https://www.cnblogs.com/iosdev/archive/2013/07/15/3190431.html

原文地址:https://www.cnblogs.com/niunafei/p/12590375.html

时间: 2024-08-26 10:15:56

mysql-管理命令【创建用户、授权、修改密码、删除用户和授权、忘记root密码】的相关文章

linux添加超级管理员用户,修改,删除用户

useradd一个用户后,去修改/etc/passwd文件中的这个用户这一行,把其中的uid改为0,gid改为0(其中****代表一个用户名)这样****就具有root权限了 如: root2:x:0:0::/home/root2:/bin/bash [用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell] 其中: ⒈[用户名]是passwd文件里各记录行唯一的有"唯一性"要求的域.也就是说每一行的第一个区域的内容都不能相同,其它区域就无所谓了. ⒉[

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.

MySQL忘记root密码后修改

MySQL忘记root密码后可以使用下面的方法修改. 1.登录MySQL所在的服务器,手工kill掉MySQL进程 kill `cat $mysql_data_dir/hostname.pid` $mysql_data_dir/hostname.pid为MySQL数据目录,它记录了MySQL服务的进程号. [[email protected] ~]# ps -ef |grep mysql root      6602     1  0 21:39 ?        00:00:00 /bin/s

Linux忘记root密码--进入单用户模式修改root密码

在使用Linux系统中,主机维护人员经常会碰到一个问题,就是在拥有root账号权限和密码的用户中,总是会出现忘记root密码的情况. 遇到这种情况,一般情况下,我们主机维护人员就会通过最常用的方法进行root密码重置,那就是单用户模式. 首先,来看一下单用户模式的概念:http://baike.baidu.com/link?url=HCY6FmjdXMtvNLIh9A9L2HC5ndHPZS0OnAfqwMZC0E5IUY5ONKfD5vhaUkZWhQ3BGI9bYPWWVUNv_Qu-YXx

忘记root密码怎么办-单用户模式修改root密码

忘记root密码怎么办-单用户模式修改root密码================================= 1,开机3秒内按下向下的方向键,目的是为了不让它进入系统,而是停留在开机界面. 2,定位在第一行,按字母e编辑它,就会出现下面的界面 3,往下按方向键,把光标定位在linux开头的那一行.将光标移动到ro这里,把ro改成 rw init=/sysroot/bin/bash.如下图 4,同时按下Ctrl+x,系统会正式进入到emergency模式. 5,用chroot命令切换到原始

Linux下使用MySQL——忘记root密码及修改MySQL默认编码

概述: 本博客不再对MySQL的语法进行讲解和说明,想了解或熟悉的朋友请自行百度或Google学习.本博客主要是针对MySQL除语法之外的总结,希望能够也能帮助到你. 1.CentOS6.x下MySQL忘记root密码解决方法 Ⅰ. 修改MySQL的登录设置 # vim /etc/my.cnf 在[mysqld]段中加上一句:skip-grant-tables Ⅱ. 重启服务 # service mysqld restart Ⅲ. 登录Mysql,修改密码信息 # mysql mysql> US

MySql数据库忘记Root密码,如何修改

MySql数据库忘记Root密码是一件很痛苦的事情,即使你卸载数据库重新安装,密码还是不能重置,今天这件事让我无比头痛,最终,找到了解决办法. Windows下的实际操作如下: 1.关闭正在运行的MySql数据库. 2.打开Dos窗口,转到MySql安装目录下的bin文件下.如:C:\Program Files\MySQL\bin 3.Dos继续输入mysqld --skip-grant-tables,然后回车,进入安全模式.如果没有出现提示信息,那就对了. 4.现在重新打开一个Dos窗口,转到

mysql忘记root密码连接本地库

今天想做个小项目,决定用mysql数据库,但是好久没用mysql了,也忘掉了当时建库时root密码是什么了,找到了一篇文章,在这里记录下. Windows下mysql忘记root密码的解决方法: Mysql版本:5.1.55-community MySQL Community Server (GPL) 1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令: net stop mysql 或者在windows任务管理器中结束mysqld.exe进程,或者在控

解决Windows&Linux下Mysql忘记ROOT密码

MySQL忘记root密码怎么办?一般情况下会有两种思路:找回密码和重置密码.在实际的工作中,MySQL数据库忘记root密码一般采用重置密码的办法去解决.下面就看看在Linux下和在Windows下重置root密码的步骤. Windows下MySQL忘记root密码怎么办? 1.以系统管理员身份登陆系统,启动mysql跳过权限检查. d:\mysql\bin\mysqld-nt –skip-grant-tables 2.进到d:\mysql\bin下,使用mysqladmin命令设置密码 d: