草庐IT

Mysql 数据库系统部署使用

微笑的段嘉许 2023-03-28 原文

Mysql 数据库系统部署使用

?博客主页: ​​微笑的段嘉许博客主页​

?欢迎关注?点赞?收藏⭐留言?

?本文由微笑的段嘉许原创!

?51CTO首发时间:?2022年10月日18?

✉️坚持和努力一定能换来诗与远方!

?作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!

⭐本文介绍⭐

Apache HTTP Server作为优秀的Web服务器软件,提供了面向用户的前端应用功能,而在实际企业网站平台中,为了提供更丰富、更强大的Web应用功能,往往还需要有后台数据库、网页编程程序语言等多种角色的支持。


?理论讲解:

MySQL服务基础

MySQL是一个真正的多线程,多用户的SQL数据库服务,凭借其高性能、高可用和易于使用的特性,成为服务器领域周昂最受欢迎的开源数据库系统。在2008年以前,MySQL项目由MySQL AB公司进行开发,发布和支持,之后历经Sun公司收购MySQL AB公司,Oracle公司收购Sun公司的过程,目前MySQL项目由Oracle公司负责运营的维护。本文将介绍MySQL的编译安装过程、服务控制方法、以及如何使用客户端工具访问MySQL数据库。

数据库用户授权

MySQL数据库的root用户账号拥有对所有库、表的全部权限、频繁使用root账号会给数据库服务器带来一定的安全风险。实际工作中,通常会建立一低权限的用户,只负责一部分库、表的管理和维护操作,甚至可对查询、修改、删除记录等各种操作进一步的细化权限,从而将数据库的风险降至最低。

授予权限

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户,否则,GRANT语句用于修改用户信息。语句格式如下所示。

GRANT 权限列表 ON 库名.表名TO用户名@来源地址[ TDENTIFIED BY '密码' ]

使用GRANT语句时,需要注意的事项如下:

  • 权限列表:用于列出授权使用的各种数据库操作,以逗号进行分割,如"select、insert、update"。使用"all"表示所有权限,可授权执行任何操作。
  • 库名.表名:用于指定授权操作的库和表的名字,其中可以使用通配符" * "。列如,使用" auth.* " 表示授权操作的对象为auth库中的所有表。
  • 用户名@来源地址:用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以时域名、IP地址,还可以使用" % " 通配符,表示某个区域或网段内的所有地址,如" %.bdqn.com " "192.168.1.% " 等。
  • IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略" IDENTIFIED BY " 部分,则用户名的密码将为空。
执行以下操作可以添加一个名为" xiaoqi " 的数据库用户,并允许其从本机访问,对auth库中所有表具有查询权限,验证密码为" 123456 "。使用GRANT语句授权的用户记录会保存到MySQL库的user、db、host、tables_priv等相关表中,无须刷新即可生效。

mysql> GRANT select ON auth.* TO 'xiaoqi'@'localhost' IDENTIFIED BY '123455'

查看 权限

SHOW GRANTS语句:专门用来查看数据库用户的授权信息,通过FOR子句可指定查看的用户对象(必须与授权时使用的对象名字一致)。语句格式如下:

SHOW GRANTS FOR 用户名@来源地址

执行以下操作可以查看用户dbuser从主机192.168.4.19访问数据库时的授权信息。

mysql> SHOW GRANTS FOR 'dbuser' @ '192.168.4.19';

撤销权限

REVOKE语句:用于撤销指定用户的数据库权限,撤销权限后的用户名仍然可以连接到MySQL服务器,但将被禁止执行对应的数据库操作。语句格式如下所示。

REVOKE 权限列表 ON 数据库名.表名 FROM用户名@来源地址

执行一下操作可以撤销用户xiaoqi 从本机访问数据库auth所有权限。

mysql> REVOKE all ON auth.*FROM 'xiaoqi' @ 'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW GRANTS FOR 'xiaoqi' @ 'localhost';

?实验配置与实现:

拓扑图

推荐步骤

在Centos01上安装Mysql数据库服务,生成服务器其配置文件,添加系统服务优化命令初始化mysql,

设置访问密码登录 mysql 数据库

在 Centos01 的 mysql 服务器上创建数据库,数据库创建表修改表中数据

授权用户访问 Mysql 数据库增强数据库安全和数据库远程管理

实验步骤

一、部署 Mysql 数据库系统

1、配置 yum 仓库安装依赖软件

1)挂载系统盘到mnt目录

2)删除自带的yum仓库、配置本地的yum仓库

3)安装依赖程序

2、切换 mysql 程序光盘解压源代码程序

1)卸载系统光盘挂载点

2)切换到mysql程序光盘

3)挂载mysql程序光盘

4)解压源代码到usr/src/目录

3、配置安装mysql

1)配置mysql

2)编译安装MySQL

3)创建管理MySQL组和用户

4)修改目录所有者

5)生成MySQL主配置文件覆盖原有文件

6)生成服务添加执行权限添加为系统服务设置开机自动启动

7)优化MySQL执行命令

8)初始化MySQL

4、控制MySQL服务MySQL数据可设置密码

1)启动MySQL服务

2)空密码登录MySQL数据库和退出

3)设置MySQL数据库密码使用账户密码登录

二、MySQL数据库表和记录管理

1、数据库管理

1)登录MySQL数据创建数据库名字

2)查看创建的数据库

3)切换到创建的 HB3035 数据库和 mysql 数据库

4)删除 HB3035 数据库查看创建的数据库

2、数据库表的管理

1)创建 accp 数据库,在 accp 数据库创建 student 表,设置表格 4 列数据三类为字符串 1 列数据为整数类

2)查看创建的表结构

3)切换到 accp 数据库,查看创建的表

4)删除创建的student表

3、表中记录管理

1)student 表中插入连续列数据

2)student 表中插入不连续列数据

3)查看表中student所有数据

4)查看 student 表的姓名和身份号码列数据

5)修改 stdeunt 表中数据给胡炎添加年龄和电话

6)查看修改后的数据

7)查看姓名是胡炎的数据

8)删除 accp 数据库的 student 中记录名字是胡炎的记录

9)查看删除后的数据

三、授权用户管理数据和远程管理数据库修改数据库密码

1、授权和撤销授权的配置

1)授权用户 bob 对 accp 数据库下的所有表拥有完全控制权限通过远程计算机

192.168.100.30 访问

2)查看授权的 bob 用户权限

3)撤销授权

2、授权远程 Linux 的客户端访问 mysql 数据库

1)挂载 Linux 系统光盘

2)配置 yum 仓库

3)安装 mariadb 客户

4)在 mysql 数据库授权 tom 用户完全控制权限通过主机 192.168.100.20 访问数据库服务器写入数据

5)Linux 系统 Mysql 客户端远程访问 mysql 数据库

3、授权远程 Windows 客户端访问 Mysql 数据库

1)在 Windows10 客户端安装 Navicat

2)接收协议许可条款

3)指定一下安装位置

4)创建桌面图标安装客户端

5)安装完成客户端

6)找到安装目录可执行文件激活客户端

7)mysql 服务器授权 192.168.100.40 通过 ljm 用户密码为 pwd@1234 访问任意数据库和表

8)客户端连接 mysql

9)使用客户端查看数据


?作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!


有关Mysql 数据库系统部署使用的更多相关文章

  1. ruby - 如何使用 Nokogiri 的 xpath 和 at_xpath 方法 - 2

    我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div

  2. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  3. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  4. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  5. ruby - 在 Ruby 中使用匿名模块 - 2

    假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于

  6. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  7. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  8. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  9. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

    我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

  10. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

随机推荐