1.几种主流数据库类型简介

数据库种类大体分为:关系型数据库和非关系型数据库。
关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关联的表格分类、合并、连接或选取等运算来实现数据库的管理。
典型产品:Mysql、Oracle、DB2、Sqlserver

1).IBM的DB2
  DB2是IBM出口的一系列关系型数据库管理系统,分别在不同的操作系统平台上服务。虽然DB2产品是基于UNIX的系统和个人计算机操作系统,在基于UNIX系统和微软在windows系统下的Access方面,DB2追寻了ORACLE的数据库产品。
  IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 它以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。

2). Oracle
  Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司(SDL,Software Development Laboratories)
  oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用mysql, SQL server等数据库系统,它的操作很简单,功能也非常齐全。只是比较oracle数据库而言,在处理大量数据方面有些不足

3). Sql server
  SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、 Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用
 
4). mySQL
  MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2.MySQL数据库安装及安全初始化

yum search mariadb   ##搜索安装包(需要yum源,具体配置参考前面的博客)

yum install mariadb-server -y        ##安装
systemctl start mariadb             ##启动服务

netstat -antlupe | grep mysql                     ##查看接口

vim /etc/my.cnf                                  ##在配置文件里关闭接口
skip-networking=1                              ##关闭数据库开启的网络接口
systemctl restart mariadb.service               ##重启服务


安全初始化:设置超级管理员密码

mysql_secure_installation                       ##安全初始化插件,修改密码

过程及解释如下

systemctl start mariadb  ##重启服务

数据库登陆:

mysql -uroot -p          ##输入密码即可登陆成功,大小写通用


当然也可以使用在如下方式登陆:——此方法在企业中尽量不要用,毕竟明文密码存在从历史命令中查看得到的风险;如果你的上级知道你有这样的操作,估计就凉了

mysql -u root -p123                  ##在【-p】后紧跟密码也能成功登陆


登陆后操作命令一般用大写字母,命令后用【;】结尾

3.数据库的基本sql语句操作

1)登陆

mysql -uroot -pwestos        ###-u表示指定登陆用户,-p 表示指定此用户密码

2)查询

SHOW DATABASES;       ##显示数据库

USE mysql;           ##进入mysql库

SHOW  tables;            ##显示当前库中表的名称

SELECT * from user;      ##查询user表中的所有内容(*可以用此表中的任何字段来代替)

DESC user;           ##查询user表的结构(显示所有字段的名称)

quit             ##退出

3)新建

CREATE DATABASE westos; ##建立库

USE westos;                          ##进入库
CREATE  TABLE  linux (               ##建立表linux
->username varchar(10) not  null,
->password varchar(20) not  null);

SHOW TABLES;                     ##查看表,存在一个名为linux的表
DESC linux;                         ##查看表结构


插入数据到表中

INSERT INTO linux VALUES ('hello','world');          ##插入数据到linux表中
INSERT INTO linux VALUES ('snow','come');


SELECT * FROM linux; ##查询在linux表中所有字段
SELECT username FROM linux; ##查询在linux表中指定字段

4)更改数据库信息

<1>更改数据库名称——一般不要改变数据库的名称,否则存在数据丢失的风险;下面介绍的方法理论上存在,但是慎用

cd  /var/kib


<2>更新表信息

UPDATE linux SET password=password('123') where username=hello;
UPDATE linux SET password='321' where username='snow';                ##更新密码时,前面不加【password】密码明文显示

DELETE FROM linux where username='hello';         ##删除

INSERT INTO linux VALUES ('student','456');          ##添加(插入)数据到linux表中

<3>更改表中字段

ALTER  TABLE  linux ADD  class varchar(20);                           ##插入新的字段
UPDATE linux SET class='123' where username='snow';                    ##更新字段内信息


ALTER TABLE linux DROP class;                                   ##删除class

ALTER  TABLE  linux ADD  class varchar(20) AFTER username;        ##指定插入字段的位置,默认加在最后


注意:插入时只能在第一个字段之后的位置选择,不能在其之前;默认第一个是基准字段,默认不能修改,修改后会导致数据错乱

<4>更改数据库中表的名称

ALTER  TABLE  linux  RENAME redhat;                           ##更改表名称

5)数据库的备份

mysqldump -uroot -p westos > /mnt/westos.sql          ##备份westos库并把数据保存到westos.sql中

mysqldump -u root -p --all-database  > /mnt/all.sql       ##备份所有库

mysqldump -u root -p westos --no-data ##只备份westos库中的框架
mysqldump -u    root -pwestos westos linux > /mnt/linux.sql ##备份westos库中的linux表mysql -u  root -p  -e "create database text;"   ##建立text库

mysql -u root -p text  < /mnt/westos.sql      ##把数据导入westos库

导入前数据未空

导入后

6)数据库的删除——高危动作,用前三思

DROP TABLE redhat;               ##删除redhat表

DROP DATABASE text;              ##删除text库

4.用户授权

1)登陆授权

SELECT USER FROM  mysql.user;  ##查看本机数据库用户列表

CREATE  USER student@'localhost' identified  by '111';     ##建立本地用户,student@'%'则用户可在其他主机远程登陆


注意:

student@localhost  ##只能在本机登录
student@'%'  ##任意主机登录

2)数据库内相关授权

student用户进入数据库后无法获取数据库的全部信息,如下图;此时我们便需要给用户授权


用root用户登陆

GRANT insert,update,delete,select on  westos.* TO student@localhost;        ##给用户关于库的相关权限
SHOW GRANTS  FOR student@localhost;                                        ##显示用户权限列表


测试:

REVOKE insert,update,delete,select to  westos.* FROM student@localhost;##取消用户权限

DROP  USER  student@localhost;      ##删除用户
FLUSH PRIVILEGES;                   ##刷新

5.数据库密码相关设置

1)知道原密码的情况下修改密码

mysqladmin -uroot -p123 password 321         ##修该超级用户密码


2)不知道原密码的情况下修改密码

systemctl stop mariadb                           ##停止服务
mysqld_safe  --skip-grant-tables &              ##开启mysql登陆接口并忽略授权表
mysql                                           ##直接不用密码可以登陆

UPDATE mysql.user SET password=password('123456789') WHERE user='root';    ##更新超级用户密码信息

ps aux | grep mysql                  ##过滤mysql的所有进程并结束这些进程
kill -9 mysqlpid

systemctl  start mariadb  ##打开服务
mysql  -u root -p  ##用新密码登陆

运维中的MySQL数据库管理方式相关推荐

  1. mysql使用主从复制迁移,[MySQL进阶之路][No.0003] 主从复制(Replication)在运维中的运用...

    前序 在之前的两章里,主要介绍的主从复制(Replication)的基本使用方法和show slave status一些基本参数,这一章我们讲一下主从复制在生产环境中的一些在运维中的常见用途.下面将要 ...

  2. 运维之道 | Mysql主从复制+mycat读写分离

    运维之道 | Mysql主从复制 + Mycat读写分离 1.什么是读写分离 读写分离,基本的原理是让主数据库处理事务性增.删.改操作(INSERT.UPDATE.DROP),而从数据库处理SELEC ...

  3. 实际运维中处理的事故问题

    在IT运维中会遇到的问题 1.缺乏有效的知识积累和共享,造成操作维护效率低下,类似的故障和问题仍然在不断发生,不断解决着,同时一旦某些掌握关键信息和技能的人发生意外状况(如生病,离职等),整个日常维护 ...

  4. 运维中的交换机堆叠是什么

    运维中的交换机堆叠是什么,堆叠是指将多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上虚拟成一台交换设备,作为一个整体参与数据转发.堆叠是目前广泛应用的一种横向虚拟化技术,具有提高可靠性.扩展端 ...

  5. Python在网络运维中的应用与分析

    目前Python是新兴技术编程语言的主流之一,随着互联网技术的不断发展,计算机网络的应用范围也随之增加,网络运维自动化和智能化需求越来越高,Python编程语言逐渐盛行,该程序设计语言简单灵活,拥有庞 ...

  6. 2021AIOps挑战赛|基于移动通信网络运维中的多指标时空序列预测

    2021国际AIOps挑战赛决赛暨AIOps创新高峰论坛于2021年5月13日在北京成功举行.本文根据中国移动研究院首席科学家.人工智能与智慧运营中心总经理冯俊兰博士现场发言纪要整理而成. 演讲内容 ...

  7. 中国移动研究院冯俊兰:基于移动通信网络运维中的多指标时空序列预测

    这和我当年做的工作就很像了. 转载自:https://mp.weixin.qq.com/s/veqH753nxWW0Hr0PDB1uSg 中国移动研究院冯俊兰:基于移动通信网络运维中的多指标时空序列预 ...

  8. 智能运维中的指标预测

    # 技术黑板报 # 第六期 推荐阅读时长:9min 云智慧智能研究院着眼于智能运维领域的指标预测场景所需,对指标预测的场景及算法进行了详细的概述. 章节目录 一.前言 二.运维领域的预测场景 三.指标 ...

  9. mysql perror_Linux运维知识之MySQL下perror工具查看System Error Code信息

    本文主要向大家介绍了Linux运维知识之MySQL下perror工具查看System Error Code信息,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 在MySQL数据库 ...

最新文章

  1. 被快乐×××的许晴-----平淡的生活中寻找快乐
  2. 柱坐标系下的ns方程_笛卡尔坐标系到底是什么?
  3. win7如何添加开机启动程序(开机就自动运行打开)
  4. python全栈学习--day3
  5. mybatis学习(31):修改部分字段(有外键,先查询,再修改)
  6. 开发指南专题十:JEECG微云快速开发平台--表单校验组件ValidForm
  7. Jeecg开发平台 - Online表单专题课程
  8. 一道Python面试题,设置一个动态变量名
  9. SQL语句新手练习(一)
  10. 计算机游戏制作英文要学好吗,有关怎么不沉迷于电脑游戏的英语作文你的同学MICHAEL沉迷于电脑游戏中,影响了学习.作为好朋友,你要怎么帮助他?写一篇80词左右的英语作文....
  11. CASS利用控制点进行图形坐标系转换(80转2000)
  12. word转pdf或者打印后题注编号变成大写
  13. 配置p6spy打印完整sql语句
  14. [FIPS 197] AES 测试向量
  15. [浏览器插件]经典书签同步工具xmarks与chrome自带同步功能比较
  16. 在Oracle DevGym上学习cx_Oracle的笔记
  17. socket函数返回Too many open files
  18. Python 哈希函数
  19. jsp+spring+hibernate
  20. STM32F103学习笔记(十一)——USMART调试组件的使用

热门文章

  1. pandas使用pct_change函数计算数据列的百分比变化:计算当前元素和前一个元素之间的百分比变化(包含NaN值的情况以及数据填充方法)
  2. UnicodeEncodeError: ‘latin-1‘ codec can‘t encode characters in position: ordinal not in range(256)
  3. R语言大小写转换函数(tolower, toupper, casefold,chartr)实战
  4. R安德森-达令检验( Anderson-Darling Test)
  5. 机器学习中的没有免费的午餐定律是什么?“没有免费的午餐”对你意味着什么?没有免费午餐定律定律能给数据科学家提供什么启示?
  6. 自然语言处理NLP之文本摘要、机器翻译、OCR、信息检索、信息抽取、校对纠错
  7. 查看linux系统版本信息 lsb_release -a
  8. Dijkstra 贪心算法 动态规划
  9. linux 查看san链路状态,Linux下查看网络状态的方法
  10. mysql的delete的底层实现_MySQL索引的底层实现