设置MariaDB,创建新库,新用户并授权其可以从任何主机登录

OS:CENTOS 7

1、从系统进入MariaDB

mysql -u root -p

这里的root是指MariaDB的管理员用户,和系统的root不搭边,只是同名而已。

2、看下有哪些库、用户

MariaDB [(none)]> show databases;

MariaDB [(none)]>select user,host from mysql.user;

3、创建新库、新用户

MariaDB [(none)]> create database 要建的库名charset=utf8 ;

--charset=utf8 是非必选参数,这里是个人习惯,受的字符集的苦太多了。

MariaDB [(none)]> create user 要建的用户名@'%' identified by '密码';

--这里的 @'%' 表示允许该用户从任何点登录。

4、瞅一眼刚建好的库和用户权限

MariaDB [(none)]> show create database 刚建的库名;

MariaDB [(none)]> show grants for 建的用户名@'%';

5、将刚建的库的所有权限授权给刚新建的用户

MariaDB [(none)]> REVOKE ALL PRIVILEGES ON *.* from 用户名@'%';

--我习惯先把要用的用户的所有权限先清除。

MariaDB [(none)]> grant all on 刚建的库名.* to 刚建的用户@'%';

MariaDB [(none)]> show grants for 建的用户名@'%';

再看一眼,一眼万年。

MariaDB [(none)]> exit;

为啥要不限制登录点,又非得新建一个用户呢?别问,问就是:又想在外网用MariaDB又舍不得多个应用的后台数据库管理员曝露在公网上。就是又菜又爱玩,又穷又啥都想买。

--注意所有对用户的授权都是以 用户名@'%' 的形式出现的,这表示对MariaDB而言,用户天生就是加了登录点限制的存在。这从mysql.user表中的行值可以看到,只是用户+登录限制的组合才是唯一的。

相关推荐
曾凡宇先生几秒前
mysql局域网授权
数据库·mysql
xcLeigh1 小时前
IoTDB Rust 原生接口开发指南:从零生成 + 完整 RPC 调用
数据库·rpc·rust·接口·api·时序数据库·iotdb
努力努力再努力wz1 小时前
【MySQL 进阶系列】拒绝滥用root:从 mysql.user 到权限校验,带你彻底理解用户管理与授权机制!
android·c语言·开发语言·数据结构·数据库·c++·mysql
薛定谔的悦2 小时前
储能充放电状态机执行逻辑详解
linux·数据库·能源·储能·bms
Elastic 中国社区官方博客2 小时前
Elasticsearch percolator 用于电商搜索治理:将模糊查询转换为可控的检索策略
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
zxrhhm2 小时前
PostgreSQL 中的层级查询 Oracle CONNECT BY 替代方案
数据库·postgresql·oracle
万事大吉CC3 小时前
【3】深入剖析 Django 之 MTV:路径引用与资源加载机制
数据库·django·sqlite
Hical_W3 小时前
用 Hical + MySQL 5 分钟搭建 CRUD API(C++20 协程版)
数据库·mysql·c++20
AIMath~3 小时前
agent上下文和模型的上下文区别
数据库