DBAmysql数据库_万金油_新浪博客

理论多,命令多
问的都是理论知识
1.什么是数据库
存储数据的仓库,
2.主流的三款数据库 mysql redis mongodb
3.数据库的模型
4.常见的数据服务软件和厂商
5.mysql 的简介和发展过程


一。mysql数据库
搭建数据库服务器 mysql的数据库类型
部署一台数据库,提供数据库存储的服务?
生产环境下是用硬件主机和云主机
服务器的主流的操作系统 unix linux Windows 


安装软件包     
软件包来源, 官网下载  最新的稳定版,主版本和次版本 偶数和奇数   修改次数  操作系统自带的软件
软件包的封包类型(RPM 源码)
源码是可以自定义配置和安装 ,安装卸载方便 rpm -ivh  rpm -e ,但是钥解决依赖关系
RPM是封装好的,不能定义

开源软件和商业软件   使用的软件版本
开源不等于免费,开源软件可以进行二次开发。一般公司都是使用开源软件
提供数据库服务的软件,apache tomcat  nginx  mysql  SQL.server DB2  Oracle 是关系型数据库RDBMS
                                           按照一定的规则进行存储数据
                                 Redis   Mongodb    Memcached                                         是非关系型数据库 NOSQL
                                                不需要按照一定的规则进行存储数据
商业软件是要付费

mysql 的特点————用c语言开放
开源并能够跨平台  —— unix linux Windows 
支持主流的编程语言————unix linux  windows
可移植好——系统只有c的运行环境就可以运行  LNMP  LAMP  Mysql  Mongodb
数据库的服务通常都是跟网站的服务一起使用  
数据库都是存储什么样的数据??
现在主流网站  购物网站 游戏网站   视频网站   论坛网站   金融网站

一。安装mysql

mysql 和mraidb 是同一款数据库软件 请看mysql的起源和发展

如果安装了mariadb 就不能安装mysql 就会出现冲突  都是提供mysql 服务的 ,配置文件和存储数据目录都是一样
如果mariadb-server 应该先把服务给先停了服务,才可以进行卸载操作
[root@host50 ~]# rpm -qa  | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@host50 ~]# yum list | grep -i mariadb
mariadb-libs.x86_64                     1:5.5.56-2.el7             @anaconda/7.4
mariadb.x86_64                          1:5.5.56-2.el7             dev          
mariadb-bench.x86_64                    1:5.5.56-2.el7             dev          
mariadb-devel.i686                      1:5.5.56-2.el7             dev          
mariadb-devel.x86_64                    1:5.5.56-2.el7             dev          
mariadb-libs.i686                       1:5.5.56-2.el7             dev          
mariadb-server.x86_64                   1:5.5.56-2.el7             dev          
mariadb-test.x86_64                     1:5.5.56-2.el7             dev     

tar -xf 和   tar -xvf 的区别 就是后者可以显示解包的过程


[root@host50 ~]# rpm -e --nodeps Cariadb-server ————强制卸载软件以及依赖包
安装装不上的原因
配置文件和参数  数据存储目录??
[root@host50 ~]# rm -rf /etc/my.cnf
[root@host50 ~]# rm -rf /var/lib/mysql
[root@host50 ~]# rpm -e --nodeps mariadb-server
[root@host50 ~]# rpm -e --nodeps mariadb-libs
警告:文件 /etc/my.cnf: 移除失败: 没有那个文件或目录
[root@host50 ~]# rpm -qa | grep -i mariadb

安装mysql 软件包的步骤
[root@host50 ~]# rpm -Uvh mysql-community-*.rpm ————U是升级安装
警告:mysql-community-client-5.7.17-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
perl(JSON) 被 mysql-community-test-5.7.17-1.el7.x86_64 需要————提示依赖关系
[root@host50 ~]# rpm -q perl-JSON
未安装软件包 perl-JSON 
[root@host50 ~]# yum -y install  perl-JSON
[root@host50 ~]# rpm -Uvh mysql-community-*.rpm  ————U是升级安装。
警告:mysql-community-client-5.7.17-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql-community-common-5.7.17-1.e################################# [  9%]
   2:mysql-community-libs-5.7.17-1.el7################################# [ 18%]
   3:mysql-community-client-5.7.17-1.e################################# [ 27%]
   4:mysql-community-server-5.7.17-1.e################################# [ 36%]
   5:mysql-community-devel-5.7.17-1.el################################# [ 45%]
   6:mysql-community-embedded-5.7.17-1################################# [ 55%]
   7:mysql-community-embedded-devel-5.################################# [ 64%]
   8:mysql-community-test-5.7.17-1.el7################################# [ 73%]
   9:mysql-community-libs-compat-5.7.1################################# [ 82%]
  10:mysql-community-embedded-compat-5################################# [ 91%]
  11:mysql-community-minimal-debuginfo################################# [100%]
这个百分比是前面的已经完成了一部分
升级安装的好处??
1.可以增加新功能 2.解决旧版本的漏洞的问题和BUG 3.增加稳定性和对系统的支持 4.安装的体积更大,需要更多的磁盘   5.运行时需要暂用更多的CPU和内存
[root@host50 ~]# rpm -qa | grep mysql  ————查看已经安装的软件清单
mysql-community-client-5.7.17-1.el7.x86_64
mysql-community-minimal-debuginfo-5.7.17-1.el7.x86_64
mysql-community-test-5.7.17-1.el7.x86_64
mysql-community-common-5.7.17-1.el7.x86_64
mysql-community-devel-5.7.17-1.el7.x86_64
mysql-community-libs-compat-5.7.17-1.el7.x86_64
mysql-community-libs-5.7.17-1.el7.x86_64
mysql-community-embedded-5.7.17-1.el7.x86_64
mysql-community-embedded-compat-5.7.17-1.el7.x86_64
mysql-community-embedded-devel-5.7.17-1.el7.x86_64
mysql-community-server-5.7.17-1.el7.x86_64


修改配置文件
[root@host50 ~]# ls /var/lib/mysql——默认的数据存储的目录
没有启动,目录为空
启动服务

root@host50 ~]# systemctl  status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
[root@host50 ~]# systemctl  start mysqld————启动速度比较慢,因为要创建目录

[root@host50 ~]# systemctl  status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 二 2018-07-10 10:45:58 CST; 24s ago
     Docs: man:mysqld(8)
[root@host50 ~]# ls /var/lib/mysql  ————首次创建就会创建这些目录
auto.cnf         ib_buffer_pool  mysql               public_key.pem
ca-key.pem       ibdata1         mysql.sock          server-cert.pem
ca.pem           ib_logfile0     mysql.sock.lock     server-key.pem
client-cert.pem  ib_logfile1     performance_schema  sys
client-key.pem   ibtmp1          private_key.pem

[root@host50 ~]# systemctl  enable mysqld————开机自动开起

继续安装下一台服务器

查看服务信息
端口信息————3306
进程信息——mysqld

ps aux | grep httpd???
[root@host50 ~]# ps -C mysqld————查看进程
  PID TTY          TIME CMD
 4240 ?        00:00:00 mysqld
[root@host50 ~]# systemctl  stop mysqld——停掉服务
[root@host50 ~]# ps -C mysqld————再次查看进程
  PID TTY          TIME CMD
[root@host50 ~]# ss -ntulp | grep mysqld   ————查看端口状态
tcp    LISTEN     0      80       :::3306                 :::*                   users:(("mysqld",pid=4529,fd=18))

mysql 的相关的参数
1.主配置文件     /etc/my.cnf
2.数据目录        /var/log/mysql
3.端口              3306
4.进程              mysqld
5.传输协议         tcp
6.所属者             mysql
7.所属组            mysql


把数据存储到数据库服务器上的过程
1.连接数据库服务器
1.1用命令行来连接 mysql -u用户名 -h ip  -p 密码
第一次是用初始密码连接
[root@host50 ~]# ls /var/log/mysqld.log 
/var/log/mysqld.log
[root@host50 ~]# grep  password /var/log/mysqld.log   ————首次创建数据库的密码保存在日志上

2018-07-10T02:45:38.706224Z 1 [Note] A temporary password is generated for root@localhost: *-ZPqB
密码都是随机生成
[root@host50 ~]# mysql -hlocalhost -uroot -p'*-ZPqB

没有创建用户时,只能通过本机进入数据库,只有root用户
连接数据库的工具
1.mysql 指令  : 环境切换  看状态  退出控制
2.sql指令  :  数据库的定义  查询  操纵 授权语句
注意事项 
指令不区分字母大少写  (密码  变量值除外)
每一条的SQL指令是以;进行结束或者分割
不支持Tab键 ,纯手打输入
\c可以废除当前操作错误的命令

常用的SQL环境管理命令
DDL 的数据定义语句:creat   alter  drop
DML的数据操作语句 : insert   update  dalete
DCL的数据控制语句   : grant  revoke
DTL 的数据事物语句     : commit  rollback  sovepoint

库管理命令
show  databases; 展示库
creat  database  库名; 创建库
use  库名; 进入库
select  database (); 展示所在的当前库
show  tables; 显示已有的表
drop  database  库名; 删除库

数据库的命名规则
可以使用数字 字母  下划线   但是不可以使用纯数字
区分大小写,具有唯一性
不可以使用指令关键字 和特殊字符

表的管理命令
新建指定名称的表
-CREATE   TABLE   库名。表名
字段名1 字段类型(宽度) 约束条件;
字段名2字段类型(宽度) 约束条件;
.......
字段名N字段类型(宽度) 约束条件;















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维螺丝钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值