Linux如何安全配置Mysql数据库

本篇文章给大家带来的内容是介绍在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"

  Linux如何安全配置Mysql数据库

2.查看密码存放的表

 Linux如何安全配置Mysql数据库 

方法二:mysql数据库命令

mysql>use mysql;mysql>update user set password=password('123') where user='root' and host='localhost';mysql> FLUSH PRIVILEGES;        #刷新

  Linux如何安全配置Mysql数据库

测试密码修改是否成功

  Linux如何安全配置Mysql数据库

二、修改mysql管理员账号root

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

  Linux如何安全配置Mysql数据库

测试

  Linux如何安全配置Mysql数据库

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

方法一:

killall -TERM mysqldmysqld_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,使用新密码登录

琅琅配音 琅琅配音

全能AI配音神器

琅琅配音 208 查看详情 琅琅配音

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

方法二:

修改/etc/my.cnf

在[Mysqld]下添加:

skip-grant-tables

重启MySQL服务

mysql -u rootmysql>update user set password=password('123') where user='admin' and host='localhost';mysql> FLUSH PRIVILEGES;MySQL> quit

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

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

  Linux如何安全配置Mysql数据库

测试

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

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

  Linux如何安全配置Mysql数据库

四、创建数据库用户

方法一:

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

  Linux如何安全配置Mysql数据库

方法二:

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

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

五、权限管理

本地权限

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

 Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

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

 Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

远程连接权限

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

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

 Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

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

  Linux如何安全配置Mysql数据库

5.测试

  Linux如何安全配置Mysql数据库

撤销权限

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

  Linux如何安全配置Mysql数据库

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

   Linux如何安全配置Mysql数据库

删除账户

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

  Linux如何安全配置Mysql数据库

相关视频教程推荐:《MySQL教程》

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注创想鸟相关教程栏目!!!

以上就是Linux如何安全配置Mysql数据库的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/279183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月4日 15:45:05
下一篇 2025年11月4日 15:45:50

相关推荐

  • Go语言中捕获方向键输入:使用termbox-go实现终端交互

    在go语言中,直接使用标准输入(`os.stdin`)读取方向键等特殊按键会遇到挑战,因为终端默认处于“行缓冲”模式,特殊按键通常被解释为转义序列或不被程序直接捕获。本文将介绍如何利用`termbox-go`库,一个强大的跨平台解决方案,实现go程序对方向键等复杂终端事件的精准识别与处理。 理解标准…

    2025年12月16日
    000
  • Golang文件I/O性能如何优化

    答案:Go语言文件I/O性能优化需根据场景选择方法,小数据读写用bufio减少系统调用,大文件传输推荐io.Copy配合预分配空间,随机访问大文件可采用mmap避免拷贝,高吞吐场景通过并发分段读取和预读提升效率。 Go语言的文件I/O性能优化,关键在于合理使用系统资源、减少系统调用开销以及选择合适的…

    2025年12月16日
    000
  • 如何在Golang中处理文件锁

    使用gofrs/flock库是Go中跨平台文件锁的最佳选择,它通过创建独立锁文件实现进程间互斥,支持Linux、macOS和Windows,避免多进程同时修改文件导致数据不一致。 在Go语言中处理文件锁,主要是为了防止多个进程或协程同时修改同一个文件导致数据不一致。虽然Go标准库没有直接提供跨平台的…

    2025年12月16日
    000
  • 如何在Golang中处理数据库事务错误

    答案:在Golang中处理数据库事务需确保每个Begin都有对应的Commit或Rollback。使用db.Begin()开启事务后,应通过defer注册回滚逻辑,即使出错也能自动清理;成功则手动调用tx.Commit(),之后Rollback无效。注意区分错误类型:sql.ErrTxDone表示事…

    2025年12月16日
    000
  • 如何在Golang中处理容器存储挂载

    答案:Golang中处理容器存储挂载通常通过syscall调用或Docker API实现。1. 使用syscall.Mount可执行bind mount等操作,需root权限并确保路径存在;2. 更推荐使用docker/go-docker库通过Docker API创建容器时配置挂载,避免直接系统调用…

    2025年12月16日
    000
  • Go 服务部署策略与跨平台实践

    本文探讨go语言服务的部署策略,强调go在跨平台编译方面的独特优势。鉴于go生态系统在专用部署工具方面的相对年轻,文章建议开发者可利用go的交叉编译能力,结合自定义脚本或现有通用部署工具(如capistrano)进行高效部署。核心理念是避免在生产环境进行编译,并利用go的特性实现精简、可移植的部署流…

    2025年12月16日
    000
  • Go服务部署策略:从跨平台编译到自动化实践

    本文探讨了go语言服务的部署策略,鉴于go作为一门相对年轻的语言,其专用部署工具尚不成熟。核心策略包括利用go强大的跨平台编译能力,避免在生产环境构建;同时鼓励开发者自行编写部署工具,甚至可以go语言实现,或适配capistrano等现有通用工具。文章强调了社区交流的重要性,以获取最新的部署实践。 …

    2025年12月16日
    000
  • 如何在Golang中开发命令行工具

    使用flag处理简单参数,cobra构建复杂命令,结合清晰输出与跨平台编译,可开发专业CLI工具。 开发命令行工具是Go语言的强项之一,得益于其标准库的支持和编译为单二进制文件的能力。要在Golang中开发一个实用的命令行工具,关键在于清晰的命令结构、参数解析和良好的用户体验。 使用flag包处理基…

    2025年12月16日
    000
  • 在Linux上持久化运行Go Web服务:系统服务与进程管理器的选择

    本文将探讨在linux环境下确保go web服务持续运行的两种主要策略:一是利用操作系统自带的服务管理器(如systemd)实现快速部署和基本守护,二是采用专业的进程管理器(如supervisord)进行更精细的监控和故障恢复。文章将提供配置示例,帮助开发者选择最适合其go应用持久化运行的方案。 在…

    2025年12月16日
    000
  • Go语言中处理标准输入(Stdin)的灵活策略

    在Go语言中,直接从`os.Stdin`读取数据时,如果未提供任何输入,程序可能会无限期地等待。本教程将探讨`os.Stdin`的默认行为,并提供一种健壮的解决方案。通过结合命令行参数,程序可以优先处理指定文件,或在未提供文件时优雅地回退到标准输入,从而避免不必要的程序挂起,提升应用的灵活性和用户体…

    2025年12月16日
    000
  • Linux环境下Go Web服务持久化运行指南

    在linux上确保go web服务持续运行是部署的关键。本文将探讨两种主要策略:利用操作系统原生的系统服务管理器(如systemd或upstart)实现简单可靠的进程守护,以及采用专用的进程管理工具(如supervisord、monit)来获得更精细的控制和高级功能。我们将深入了解它们的配置与应用,…

    2025年12月16日
    000
  • Go 服务跨平台部署策略与实践:从开发到生产

    本文探讨了go服务在不同平台间的部署策略。鉴于go语言生态系统在专用部署工具方面的相对年轻,我们强调了利用go强大的跨平台编译能力来生成独立可执行文件,并结合自定义脚本构建高效、灵活的部署流程。文章将涵盖核心编译技术、自定义流程设计以及社区资源利用,旨在帮助开发者实现从开发到生产环境的顺畅过渡。 随…

    2025年12月16日
    000
  • 如何在Golang中安装和配置gRPC开发环境

    首先安装protoc编译器并配置环境变量,再通过go get和go install安装gRPC-Go运行时及代码生成插件,确保$GOPATH/bin在PATH中;接着编写helloworld.proto文件,使用protoc –go_out=. –go-grpc_out=. …

    2025年12月16日
    000
  • 使用Go语言构建网站搜索:探索开源爬虫与索引方案

    本文旨在为希望使用go语言实现网站搜索功能的开发者提供指导。我们将探讨构建网站搜索所需的核心组件,包括高效的网页爬取工具和强大的搜索算法。文章将介绍一个流行的go语言开源网页爬虫项目,并讨论其在实际应用中的潜力和注意事项,帮助读者快速启动其go语言搜索项目。 在现代网站应用中,提供高效的站内搜索功能…

    2025年12月16日
    000
  • Go 服务部署策略与实践指南

    go语言服务部署因其相对年轻的生态系统,目前尚缺乏大量开箱即用的专业工具。核心策略在于利用go强大的跨平台编译能力生成独立二进制文件,避免在生产环境进行编译。开发者通常需要通过自定义脚本(甚至使用go语言编写)或适配如capistrano等通用部署工具来实现自动化。容器化技术如docker和kube…

    2025年12月16日
    000
  • 如何在Golang中配置环境变量保证跨平台

    使用os.Getenv读取环境变量并结合godotenv加载.env文件,按GO_ENV动态加载不同配置,编译时用-ldflags注入版本信息,实现跨平台统一配置管理。 在Golang项目中正确配置环境变量,是保证应用跨平台(如Windows、Linux、macOS)正常运行的关键。不同操作系统对环…

    2025年12月16日
    000
  • Go语言中灵活处理标准输入与文件输入:避免程序阻塞的策略

    本文探讨go程序中处理标准输入(stdin)时可能遇到的阻塞问题,并提供一种优雅的解决方案。通过允许程序从命令行指定的文件读取数据,或在未指定文件时默认从stdin读取,可以有效避免无限期等待输入,提升命令行工具的健壮性和用户体验。 理解os.Stdin的阻塞行为 在Go语言中,当我们使用bufio…

    2025年12月16日
    000
  • 如何在Golang中实现购物车功能

    答案:通过定义用户、商品和购物项结构体,使用map管理购物车条目,实现添加、删除、计算总价功能,并结合HTTP接口与读写锁支持并发操作,适合扩展优惠券与库存校验。 在Golang中实现购物车功能,关键在于管理用户、商品和购物项之间的关系。通常使用结构体来表示数据模型,结合内存存储或数据库完成增删改查…

    2025年12月16日
    000
  • 如何在Golang中测试数据库操作

    使用内存数据库、事务回滚、专用测试实例或接口模拟可有效测试Golang数据库操作。1. 用SQLite内存模式实现快速单元测试;2. 通过事务回滚确保数据隔离;3. 借助Docker运行临时数据库实现实测集成;4. 以接口抽象加mock验证业务逻辑,提升效率与稳定性。 在Golang中测试数据库操作…

    2025年12月16日
    000
  • Golang如何在MacOS中安装Homebrew依赖

    先安装Homebrew并验证版本;2. 用brew install安装Git、Node.js、Redis、protobuf、delve等Go开发常用工具;3. 可选通过brew安装Go或指定版本;4. 定期brew update upgrade并cleanup清理。 在 macOS 上使用 Go(G…

    2025年12月16日
    000

发表回复

登录后才能评论
关注微信