MySQL/MariaDB如何创建用户并限制指定才能IP访问?

登入数据

$ mysql --version
mysql Ver 15.1 Distrib 10.9.3-MariaDB,
for debian-linux-gnu (x86_64) using readline EditLine wrapper # 连接数据库(10.0.4.2)
$ mysql -u wang123net1a -h 10.0.4.2 -p

创建一个数据库:

CREATE DATABASE testdb;

CREATE DATABASE `testdb` DEFAULT COLLATE = `utf8mb4_general_ci`;

给网站程序创建一个用户

创建用户:

-- mysql 8.0  mysql_native_password
-- CREATE USER 'wang123net1a'@'%' IDENTIFIED WITH mysql_native_password BY 'Pwd@1234&';

创建一个名为 wang123net1a 的用户:

-- 指定 只有本机才能访问
CREATE USER 'wang123net1a'@'localhost' IDENTIFIED BY 'Pwd@123'; -- 指定 只有10.0.4.14 才能访问
CREATE USER 'wang123net1a'@'10.0.4.14' IDENTIFIED BY 'Pwd@123'; -- 如果不限制IP,则直接使用百分号 % (不安全)
CREATE USER 'wang123net1a'@'%' IDENTIFIED BY 'Pwd@123';

给创建的账号授予权限:

一般我们只赋予某个用户指定的权限(比如仅selelct/insert/update权限),而非去全部权限:

-- 给来自 localhost 的用户赋权
GRANT select,insert,update,delete,create,index,alter ON testdb.* TO 'wang123net1a'@'localhost'; -- 给来自 10.0.4.14 的用户赋权
GRANT select,insert,update,delete,create,index,alter ON testdb.* TO 'wang123net1a'@'10.0.4.14'; -- 赋予用户 数据库 testdb 的全部权限
GRANT all privileges on testdb.* TO wang123net1a@"%";

使用 show grants 可以查看用户的权限:

SHOW GRANTS FOR wang123net1a@'%';

SHOW GRANTS FOR wang123net1a@'localhost';

SHOW GRANTS FOR wang123net1a@'10.0.4.14';

删除用户的权限:

DROP USER 'wang123net1a'@'%';

DROP USER 'wang123net1a'@'localhost';

DROP USER 'wang123net1a'@'10.0.4.14';

刷新

使用 FLUSH privileges 刷新权限,让权限设置立即生效。

FLUSH privileges;

参考来源:https://wang123.net/a/1577249620193476608

MySQL/MariaDB如何创建用户并限制指定才能IP访问?的更多相关文章

  1. MySQL/MariaDB数据库的用户和权限管理

    MySQL/MariaDB数据库的用户和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.元数据数据库(mysql) 系统授权表(均在mysql数据库中): db hos ...

  2. 只允许指定的ip访问本机的指定端口22:

    只允许指定的ip访问本机的指定端口22: 允许的的ip:192.168.1.123, 192.168.1.124, 192.168.1.100,其他ip都禁止访问. 切换到root用户 1.在tcp协 ...

  3. mysql创建用户、赋予指定权限命令

    1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码 ...

  4. Mysql ---部署,创建用户

    版本:mysql-5.7.18-win32 步骤: 1 准备my.ini文件放在bin同级目录 My.ini文件可以设置bsedir/datadir/port等等 2 初始化数据库(5.7版本需要初始 ...

  5. oracle 创建用户和imp指定表空间

    创建用户: 1,sqlplus sys/pwd as sysdba; 2, create user username identified by password; 3, grant dba,conn ...

  6. 连接mysql数据库,创建用户模型

    1.安装与配置python3.6+flask+mysql数据库 (1)下载安装MySQL数据库 (2)下载安装MySQL-python 中间件 (3)pip install flask-sqlalch ...

  7. 命令行下创建MySQL数据库与创建用户以及授权

    先以root用户登录mysql: C:\Users\XXX>mysql -u root -p 输入密码后登录,接下来操作如下: 1.创建数据库 语法:create schema [数据库名称] ...

  8. linux环境中通过useradd命令,创建用户的时候指定用户的base-dir

    需求说明: 今天一个同事,问了一个这样的问题,在linux环境中,创建用户的时候,默认的是在/home目录下创建一个与用户名相同的家目录, 如何能够将这个/home更换成一个其他的,比如/opt/ap ...

  9. mysql用命令创建用户创建数据库设置权限

     1.create database bbs; //创建数据库 2.create user bbs IDENTIFIED by 'bbs';  //创建用户bbs和登录密码bbs 3.grant AL ...

  10. Oracle 创建用户,赋予指定表名/视图只读权限

    步骤指南 创建用户 格式:; 语法:create user 用户名 identified by 密码; 注:密码不行的话,前后加(单引号):' create user TEST identified ...

随机推荐

  1. 使用英特尔 Sapphire Rapids 加速 PyTorch Transformers 模型

    大约一年以前,我们 展示 了如何在第三代 英特尔至强可扩展 CPU (即 Ice Lake) 集群上分布式训练 Hugging Face transformers 模型.最近,英特尔发布了代号为 Sa ...

  2. uniapp如何打包wgt格式

    打包 build 首次打包,需要配置AppId 登录dcloud开发者中心 点击直达 创建应用 将生成的AppId配置到项目manifest.json中 开始打包 打包成功

  3. prettier+ts+eslint+vscode配置代码保存自动格式化,自动remove unsed declaration,delete no-unused-imports

    每天都要开心(▽)哇: 以这个项目为案例 下面是项目的基本情况 What would you like to build? › App with Quasar CLI, let's go! Proje ...

  4. 【原创】项目六 Load Of The Root

    实战流程 新创建文件夹,在这个文件夹里进行操作 nmap扫描下网段 根据nmap逐个排查,发现目标主机,但只有22端口 因此进一步扫描22端口的具体信息,没有扫出很有用的信息 发现靶场又提示一个用户, ...

  5. Python解释器下载与安装

    Python解释器下载与安装 一.Python解释器 1.Python的发展方向 web方向,自动化运维,自动化测试,自动化办公,网络爬虫,金融量化,人工智能,机器学习,数据分析 2.Python解释 ...

  6. 注解_概念-注解_JDK内置注解

    注解_概念 注解: 概念:说明程序的.给计算机看的 注释:用文字描述程序的.给程序员看的 定义︰注解(Annotation),也叫元数据.一种代码级别的说明.它是J0K1.5及以后版本引久的一个特性, ...

  7. vue学习笔记(五)---- vue动画

    官方文档:https://cn.vuejs.org/v2/guide/transitions.html 一.使用过度类名 没有使用动画之前: <body> <div id=" ...

  8. Django-Ajax、form组件

    1.Ajax 1.AJAX:不是新的编程语言,而是一种使用现有标准的新方法,我们目前学习的是jQuery版本.特点:异步提交,局部刷新. 2.AJAX 最大的优点是在不重新加载整个页面的情况下,可以与 ...

  9. 10分钟了解MVVM,实现简易MVVM

    MVVM 是 Model-View-ViewModel 缩写,也就是把 MVC 中的 Controller 演变成 ViewModel.Model 层代表数据模型,View 代表 UI 组件,View ...

  10. LoginServlet类

    import cn.itcast.dao.UserDao; import cn.itcast.domain.User; import javax.servlet.ServletException; i ...