Linux  Mysql数据库安全配置

目录:

1.修改mysql管理员账号root的密码(2种方法)

2.修改mysql管理员账号root

3.mysql管理员root账号密码遗忘解决办法(2种方法)

4.创建数据库用户(3种方法)

5.mysql数据库权限管理

  本地权限

  网络权限

撤销权限

删除用户

一、修改mysql管理员账号root的密码

方法一:shell命令

mysqladmin  -u  root  -p  password  "123"

  

2.查看密码存放的表

  

方法二:mysql数据库命令

mysql>use mysql;

mysql>update user set password=password('123') where user='root' and host='localhost';

mysql> FLUSH PRIVILEGES;        #刷新

  

测试密码修改是否成功

  

二、修改mysql管理员账号root

update mysql.user set user="admin" where user="root" and host="localhost";

flush privileges;

  

测试

  

三、mysql管理员root账号密码遗忘

方法一:

killall -TERM mysqld

mysqld_safe --skip-grant-tables &

mysql -u admin

mysql>update user set password=password('123456') where user='admin' and host='localhost';

mysql> FLUSH PRIVILEGES;

MySQL> quit

重新启动MySQL,使用新密码登录

  

设置新的密码,并刷新修改

  

测试,重启mysqld服务用新的密码登录

  

方法二:

修改/etc/my.cnf

在[Mysqld]下添加:

skip-grant-tables

重启MySQL服务

mysql -u root

mysql>update user set password=password('123') where user='admin' and host='localhost';

mysql> FLUSH PRIVILEGES;

MySQL> quit

修改/etc/my.cnf  删除skip-grant-tables

重新启动MySQL,使用新密码登录

  

测试

修改/etc/my.cnf  删除skip-grant-tables

重新启动MySQL,使用新密码登录

  

四、创建数据库用户

方法一:

INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv)     VALUES ('localhost', 'yuzly', PASSWORD('yuzly'), 'Y', 'Y', 'Y');

  

方法二:

CREATE  USER  'user1'@'localhost'  IDENTIFIED  BY 'yuzly';

  

方法三:通过新用户授权创建数据库用户

  

五、权限管理

本地权限

1.创建一个zhang用户,只给select权限,然后查看权限

 

2.登录zhang用户,mysql -uzhang -pyuzly测试,创建一个表,下图显示被拒绝,当前账户没有create权限

  

3.登录管理员账户,给zhangsan账户添加create权限

  

4.重新登录zhangsan账户,测试是否具有create权限,下图说明具有create权限

  

5.插入一条数据,下图提示没有insert权限

 

6.登录管理员账户,给zhangsan账户添加insert权限

  

7.重新登录zhangsan账户,测试是否具有insert权限,下图说明具有insert权限

  

8.创建的新用户,默认没有任何权限,下图可以看到创建的用户默认是没有任何权限的

  

9.登录新创建的用户mysql -uabcd -pyuzly,测试,下图可以看到abcd没有select等权限,用show只能查看mysql系统自带的东西,别的用户创建的数据库等看不到

  

远程连接权限

1.创建一个账户,赋予远程登录权限

grant all on userdb.* to 'abc'@'10.10.10.200' identified by 'yuzly';

flush privileges;

 

2.测试,从另一台Linux的Mysql客户端登录验证

  

3.下图可以看到,abc用户对userdb数据库具有任何权限,但对别的数据库没有任何权限,例如mysql.user

  

4.远程连接限制一个网段

  

5.测试

  

撤销权限

revoke all on userdb.* from 'zhangsan'@'localhost';

  

测试,撤消zhangsan账户的权限是否生效

  

删除账户

delete from mysql.user where user="aaa" and host="localhost";

  

---------------------------------------------------------------------------------------------------

Mysql数据库基础学习笔记:https://www.cnblogs.com/yuzly/p/10582295.html

Linux Mysql数据库安全配置的更多相关文章

  1. MySQL数据库安全配置

    文章来源:http://www.xfocus.net MySQL数据库安全配置 1.前言 MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统.它具 ...

  2. linux mysql 安装配置

    1.确认当前linux系统版本,使用以下命令: cat /etc/issue cat /etc/redhat-release 2.下载对应linux系统的mysql安装包. 下载地址:http://d ...

  3. linux mysql主从复制配置

    1.设置主库master的servie-id值并且开启bin-log功能参数vi /etc/my.cnf修改my.cnf的参数:[mysqld]server-id=1 //每一个库的server-id ...

  4. linux MySQL安装配置

    执行下面的命令初始化授权表: ./scripts/mysql_install_db --user=mysql

  5. Mysql安全配置

    相关学习资料 http://drops.wooyun.org/tips/2245 http://www.cnblogs.com/siqi/archive/2012/11/21/2780966.html ...

  6. Mysql安全配置【转】

    相关学习资料 http://drops.wooyun.org/tips/2245 http://www.cnblogs.com/siqi/archive/2012/11/21/2780966.html ...

  7. 阿里云服务器Linux CentOS安装配置(三)yum安装mysql

    阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...

  8. Linux下PHP+MYSQL+APACHE配置方法

    apache: http://www.apache.org  mysql: http://www.mysql.com  php: http://www.php.net/downloads.php  g ...

  9. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

随机推荐

  1. iOS学习——页面的传值方式

    一.简述 在iOS开发过程中,页面跳转时在页面之间进行数据传递是很常见的事情,我们称这个过程为页面传值.页面跳转过程中,从主页面跳转到子页面的数据传递称之为正向传值:反之,从子页面返回主页面时的数据传 ...

  2. iOS学习——浅谈RunLoop

    RunLoop的字面意思是运行循环.跑圈,一个App启动后能一直执行,就是因为启动后进入了一个循环,在这个循环中不断监听各种状态.手势动作,并做出相应的响应.这个循环就是我们今天要探究的RunLoop ...

  3. 安装ubuntu18.10并连接xshell6

    emmmm万万没想到上一篇装的linux内核才3.10,装个ubuntu系统来继续自己的docker学习之旅. 话不多说,先下镜像,地址:http://mirrors.melbourne.co.uk/ ...

  4. 解决SpringMVC中文乱码问题--这是前端传参数到服务器

    SpringMvc参数传递中乱码问题   问题描述: 当传递中文参数到controller类时,无乱是get方式还是post方式都出现乱码 解决: 1.保证所有的页面编码都是utf-8,包括jsp页面 ...

  5. TortoiseSVN客户端的使用说明

    1 安装TortoiseSVN客户端 准备安装文件,TortoiseSVN-1.6.16.21511-x64-svn-1.6.17.msi,双击进行安装,按照提示步骤安装,安装完成后需重启计算机,SV ...

  6. 在asp.net web api 2 (ioc autofac) 使用 Serilog 记录日志

    Serilog是.net里面非常不错的记录日志的库,另外一个我认为比较好的Log库是NLog. 在我个人的asp.net web api 2 基础框架(Github地址)里,我原来使用的是NLog,但 ...

  7. Java开发知识之Java的异常处理

    Java开发知识之Java的异常处理 一丶异常概述 在讲解异常之前,我们要搞清楚.什么是异常. 通俗理解就是我们编写的程序出问题了.进行处理的一种手段. 比如我们的QQ.有的时候就崩溃了.比如出现xx ...

  8. Java开发知识之Java数组

    Java开发知识之Java数组 一丶数组简介 首先,不管是Java 还是 C++ 还是其它语言.都有数组. (有可能叫法不同) 数组简而言之就是存储一段连续相同数据类型的数据结构 在Java中数组可以 ...

  9. PWA的探索与应用

    本文由云+社区发表 PWA(Progressive Web App)起源背景 传统的Web网页存在以下几个问题: 进入一个页面必须要记住它的url或者加入书签,入口不便捷: 没网络就没响应,不具备离线 ...

  10. [五]类加载机制双亲委派机制 底层代码实现原理 源码分析 java类加载双亲委派机制是如何实现的

      Launcher启动类 本文是双亲委派机制的源码分析部分,类加载机制中的双亲委派模型对于jvm的稳定运行是非常重要的 不过源码其实比较简单,接下来简单介绍一下   我们先从启动类说起 有一个Lau ...