乐于分享
好东西不私藏

保姆级教程!Mariadb数据库从安装到建库建表、授权,图文详解(小白也能轻松上手)

保姆级教程!Mariadb数据库从安装到建库建表、授权,图文详解(小白也能轻松上手)

MariaDB作为MySQL的优秀分支,凭借高性能、开源免费及丰富的特性(如更优的存储引擎、更强的扩展性),成为众多开发者的数据库首选。

本文将带你通过Docker容器化方式,快速安装和部署MariaDB数据库,并手把手教你如何创建数据库、设计数据表,以及如何创建新用户并精确授予数据库的读写权限,帮助你在开发中轻松管理数据存储与访问安全。

1、拉取最新mariadb镜像

docker pull mariadb

2、创建并运行mariadb容器

这里我们启动mariadb_test容器,并将容器的3306端口映射到主机的13306端口,设置root用户密码为Abcd-143,同时创建一个appuser用户,并设置其密码为Bcd-323,将容器的数据目录/var/lib/mysql映射到宿主的/data/madiarb_data目录,运行以下命令:

docker run --name mariadb_test \-v /data/madiarb_data:/var/lib/mysql \-p 13306:3306 -e MYSQL_ROOT_PASSWORD=Abcd-143 \-e MYSQL_USER=appuser -e MYSQL_PASSWORD=Bcd-323 \-e MYSQL_ROOT_HOST=% \-d mariadb

注意:默认情况下,docker容器在停止或者删除后,数据文件也会删除,对于数据库容器而言这是不可取的,所以使用docker volume功能,将容器内的数据目录映射到宿主目录,实现数据的持久化。

3、登录数据库验证

mariadb -uroot -p

输入root密码后进入mariadb的命令行界面

4、创建一个数据库和表用于测试

4.1 创建数据库company

create database company;

确认数据库创建成功:

show databases;

切换到刚创建的数据库:

use company

4.2 创建employee表

上一步我们创建了一个company数据库,这一步我们在此数据库创建一个名为 empolyee的表,记录员工信息:

CREATETABLE employee(idINT AUTO_INCREMENT PRIMARY KEY,nameVARCHAR(50NOTNULL,    age INT,    org VARCHAR(20),    score DECIMAL(5,2));

查看表结构,确认创建成功

为了后面测试,这里批量插入6条数据记录:

INSERTINTOemployee (name, age, org, score) VALUES    ('张三'18'IT'85.5),    ('李四'17'IT'92.0),    ('王五'18'Finance'78.5),    ('赵六'17'HR'88.0),    ('小明'18'hr'95.5),    ('小芳'17'Finance'87.5);

5、用户和权限管理

5.1用户管理

创建用户appuser并授予数据库company的增删改查权限:

创建用户:createuser'appuser'@'%'IDENTIFIEDBY'dwdm@234';appuser:用户名%:数据库访问限制,可以是网段,如果限制只本地访问:localhost,如果无限制使用%。dwdm@234:访问密码查询已创建用户:select Host,User,Passwordfrom mysql.user;删除用户:dropuser'appuser'@'%';修改密码:alteruser'appuser'@'%'identifiedby'dfds@321';

查询当前在线用户:

showprocesslist;
5.2授权管理
1)授予权限

上一步我们创建了用户appuser,那这个用户对哪些数据库和表,以及对库和表有哪些权限(select、delete、update、insert等),这个就可以通过授权实现。

GRANT ALL ON company.* to'appuser'@'localhost'; 仅授予appuser用户对数据库company的本地所有操作权限。GRANT ALL ON company.employee to'appuser'@'%'; 授予appuser数据库company的表employee的远程操作所有权限。GRANTinsert,delete,select,updateON company.* to'appuser'@'%'; 授予appuser用户对数据company的增删改查的远程操作权限。

授予测试用户appuser对数据库company的所有权限,如果只授予某个表的权限,使用表名替换*即可。

grant all on company.* to'appuser'@'%';刷新权限:flushprivileges;
2)查看权限
查看指定用户的所有权限:
showgrantsfor root;showgrantsfor appuser;
3)回收权限
要删除或者回收某个用户的权限,可以执行:
撤销权限:revoke all on *.* from"appuser"@"%";只撤销删除权限:revokedeleteon company.* from'appuser'@'%';

总结:

通过本文的保姆级图文教程,你已经从零掌握了 MariaDB 数据库的容器化安装、数据库与表的创建,以及用户权限的完整管理流程。现在,你可以自信地搭建自己的数据库环境,并开始实践数据操作了。动手试试吧,数据库的世界等你探索!

关注AI云智工坊聚焦云计算、大模型、AI前沿技术实战和分享。
如您有任何的建议与指正,敬请在文章底部留言,感谢不吝指教!
如您看完有所受益,欢迎点击文章底部左下角关注并点击“点赞”、“分享”、“推荐,非常感谢!