mysql数据库的安装与简单管理(redhat的linux7系统)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

学习掌握myslq数据库的基础
Linux基本的使用掌握
LINUX系统常用服务使用
++++++++++++++++++++++++
数据库管理:
搭建数据库服务器
管理数据库服务器
++++++++++++++++++++++
一、搭建数据库服务器
1.1 在IP地址是 192.168.4.11主机上部署数据库服务。

确定使用的服务器(考虑因素): cpu 内存 硬盘(存储)
DELL HP 联想 华为

安装操作系统: Windows Unix Linux
Redhat7

安装提供数据库服务的软件包:
关系型数据库服务软件(RDBMS):
Oracle MySQL DB2 SQL Server
按照规定的结果存储数据,并且数据之间可以做关联操作

非关系行数据库软件(NoSQL)
redis mongodb 
key values

包的来源? 官网下载 系统安装光盘
封包类型? rpm 源码包
是否跨平台?

数据库在生产环境应用:LAMP LNMP
购物网站 游戏网站 论坛网站 金融网站

装包 MySQL
rpm -qa | grep -i mysql

修改配置文件
#ls /etc/my.cnf

启动服务
#systemctl start mysqld

查看服务运行状态
#systemctl status mysqld
#ps -C mysqld
#netstat -utnalp | grep :3306

查看初始安装完数据库时的初始密码:
grep password /var/log/mysqld.log

使用初始密码登录并重置登录密码
mysql -hlocalhost -uroot -p密码

使用密码验证策略永久生效。
set global validate_password_policy=0;
#修改密码默认等级为0
#0为长度 , 1为字母长度符号,2为字母长度符号,字典文件
set global validate_password_length=6;
#修改密码默认长度要求为6
alter user root@"localhost" identified by '123456';
#修改密码

之后quit;退出就可以使用新的密码登陆了

命令行指令为临时有效,将命令写入配置文件/etc/my.cnf永久生效

写入完成后重启服务即可生效
在/etc/my.sql中的[mysql]下加入
set global validate_password_length=6;
alter user root@"localhost" identified by '123456';

####################################################
名词解释
DB,DataBase
数据库,依照某种数据模型进行组织并存放到存储器的数据集合
DBMS,DataBase Management System
数据库管理系统,用来操作和管理数据库的大型服务器软件
DBS, DataBase System
带有数据库,数据库管理系统的服务器

####################################################
sql命令的分类

DDL 数据定义语言
(create alter drop)
DML 数据操作语言
(insert update delete)
DCL 数据控制语言
(grant revoke)
DTL 数据事物语言
(commit rollback savepoint)

####################################################
使用sql命令管理数据库:

把数据存储到数据库服务器上的过程?
1 连接数据库服务器
客户端自己提供连接工具(图形 命令行)
mysql>

2 创建库 (文件夹)
数据库名的命名规则?

创建库 create database 库名;
查看已有库 show databases;
删除库 drop database 库名 ;
切换库 use 库名;
查看库里已有的表 show tables;
查看当前所在的库 select database();

3 建表 (文件)
create table 库名.表名(
字段名 类型(宽度) 约束条件,
字段名 类型(宽度) 约束条件,
...
....
);
create table gamedb.stu(
name char(10),
age int
);

查看表结构 desc 库名.表名;

插入表记录
insert into 库名.表名 values(值列表);
insert into gamedb.stu values("jim",21),("tom",29);

查看表记录 
select * from 库名.表名;

删除表记录
delete from 库名.表名;

删除
drop table 库名.表名;
+++++++++++++++++++++++++++++++++
mysql数据类型 
支持的数据类型有那些?

数值类型 : 整型 、浮点型
整型:根据存储数值的范围整型类型的又分为:

类型 tinyint smallintmediumintintbigint
用途 微小 小 中 大 特大
大小 1字节 2字节 3字节 4字节 8字节

分为有符号无符号,范围分别为:
有符号 -128~27 -32768~2767 -2^23~2^23-1 -2^31~2^31-1 -2^63~2^63-1
无符号 0~255 0~65535 0~2^24-1 0~2^32-1 0~2^64-1

创建时使用 unsigned 修饰时,对应的字段只保存正数
宽度仅是显示宽度,存储数值的大小由类型决定
使用 zerofill 时,填0代替空格补位
#例如: age int(3) 
insert in to a values(3)
数据库显示为 003
数值超出范围时,报错
浮点型:根据存储的范围分为单精度和双精度:
单精度 float(n,m)4字节
双精度 double(n,m)8字节

#n表示总位数,m表示小数位的位数
#例如:float(5,2) 最大为999.99最小为-999.99

数值类型的宽度是显示宽度不能够限制给字段的赋值的大小,大小由字段类型决定。

pay float(5,2)
xxx.xx的范围
999.99
0.00
-999.99
++++++++++++++++++++++++++++++
字符型:
定长: char(字符数)
#最大长度255字符,不够指定字符数时在右边用空格补齐,字符数断超出时,无法写入数据。
变长:varchar
#按数据实际大小分配存储空间,字符数断超出时,无法写入数据。
大文本类型:text/blob
#字符数大于65535存储时使用。
实际生产环境中使用 char 的会相对较多,因为 varchar 会占用一部分CPU资源来计算存储大小

日期时间类型: 
年 year YYYY 2017
日期 date YYYYMMDD 20171220
时间 time HHMMSS 155145
日期时间 :
datetime YYYYMMDDHHMMSS
timestamp YYYYMMDDHHMMSS

datetime 当没有为他赋值时,会显示为空
timestamp 当没有为他赋值时,会使用系统当前时间

now()
#当前系统的时间
year()
#获取数据中的年
day()
#获取数据中的天
date()
#获取数据中的日期
time()
#获取数据中的时间

枚举类型:字段的值只能在列举的范围内选择
字段名 enum(值列表) 单选
字段名 set(值列表) 多选

设置字段约束条件:作用限制如何给字段赋值。
Null 是否允许为空 不允许则在类型后面跟NOT Null
Default 设置默认值,缺省为NULL 类型后面跟default

+++++++++++++++++++++++++
修改表结构
mysql> alter table 表名 执行动作;

执行动作:
add 字段名 类型(宽度) 约束条件,
#添加新字段,默认在最后。 
add 字段名 类型(宽度) 约束条件 first;
#所有字段的前面
add 字段名 类型(宽度) 约束条件 after 字段名;
#在什么字段后面添加
alter table drop 字段名;
#删除字段
alter table modify 字段 类型(宽度) 约束条件
#修改字段类型
alter table change 原字段名 新字段名 类型(宽度) 约束条件
#修改字段名
alter table 原表名 rename 新表名;
#修改表名

删除字段
drop 字段名;

修改字段类型
modify 字段 类型( 宽度) 约束条件;

修改字段名
change 源字段 新字段 类型( 宽度) 约束条件;

修改表名
alter table 源表名 rename 新表名;

修改表结构
+++++++++++++++++++++++++++++










本文转自 英强云计算 51CTO博客,原文链接:http://blog.51cto.com/13404755/2054509,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
9天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
83 20
|
3天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
63 7
|
10天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
27 2
|
4天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
17 3
|
4天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
21 3
|
4天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
26 2
|
17天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
127 15
|
11天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
18天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。