Mysql的安装部署及简单操作介绍

Mysql

MySQL介绍

特点及应用

  • 主要特点
    • 适用于中小规模的关系型数据库系统
    • 支持Linux Unix Windows等多种操作系统
    • 支持Python Java Perl PHP等编程语言
  • 典型应用环境
    • LAMP平台, 与Apache HTTP Server 组合
    • LNMP平台, 与Nginx组合

常见的MySQL管理工具

类型界面操作系统说明
mysql命令行跨平台MySQL官方bundle包自带
MySQL-Workbench图形跨平台MySQL官方提供
MySQL-Front图形Windows开源,轻量级客户端软件
Navicat图形Windows专用 功能强大 商业版
phpMyAdmin浏览器跨平台开源,需LAMP平台

安装部署MySQL

	tar -xf mysql-5.7.17.tar 
	yum -y install mysql-community*
	systemctl start mysqld 				# 启动服务
	systemctl enable mysqld				# 开机运行
	systemctl status mysqld 				# 查看状态
	netstat -ntulp | grep :3306 			# 查看服务信息
	ps -C mysqld								# 查看进程

Mysql 相关参数

软件安装后自动创建相关目录与文件

文件说明
/etc/my.cnf主配置文件
/var/lib/mysql数据库目录
默认端口号3306
进程名mysqld
传输协议TCP
进程所有者mysql
进程所属组mysql
错误日志文件/var/log/mysqld.log

MySQL初始配置

初始密码登录

  • 数据库管理员名为 root
    • 默认仅允许root本机连接
    • 首次登录密码在安装软件时随机生成
    • 随机密码存储在日志文件 /var/log/mysqld.log 里
    • 连接命令 : mysql -h数据库地址 -u用户 -p密码
	grep 'password' /var/log/mysqld.log 		# 查看随机密码
	mysql -u root -p密码
  • 修改root密码
    • 使用alter user 命令修改登录密码
    • 新密码必须满足密码策略
    • 管理员 root 使用新密码连接服务

密码策略

策略名称验证方式
0 or LOW长度
1 or MEDIUM(默认)长度; 数字, 小写/大写, 和特殊字符
2 or STRONG长度; 数字, 小写/大写, 和特殊字符; 字典文件
	# 进入数据库后
	show variables like "%password%"; 			# 查看变量
	set global validate_password_policy=0; 	# 修改密码策略
	set global validate_password_length=6; 	# 修改密码长度
	# 修改密码
	alter user user() identified by "密码";
	set password for root@localhost=password("密码");

	# 配置永久密码策略
	vim /etc/my.cnf
		... ...
		[mysqld]
		validate_password_policy=0
		validate_password_length=6

连接mysql服务

  • 连接方式 :

    • 客户端连接MySQL服务的方法
      • 命令行
      • WEB页面
      • 安装图形软件
      • 编写脚本(php java python)
    • 使用mysql命令
      • mysql -h服务器IP -u 用户名 -p密码 [数据库名]
      • quit或exit退出
  • 数据库存储流程

    • 客户端把数据存储到数据库服务器上的步骤
      • 连接数据库服务器
      • 建库(类似于文件夹)
      • 建表(类似于文件)
      • 插入记录(类似于文件内容)
      • 断开连接
  • MySQL管理环境

    • SQL命令使用规则
      • SQL命令不区分字母大小写(密码、变量值除外)
      • 每条SQL命令以 ; 结束
      • 默认命令不支持Tab键自动补全
      • \c 终止sql命令
    • 常用SQL命令分类(管理数据库使用SQL 结构化查询语言)
      • DDL 数据定义语言 如 : create alter drop
      • DML 数据操作语言 如 : insert update delete
      • DCL 数据控制语言 如 : grant revoke
      • DTL 数据事务语言 如 : commit rollback savepoint

MySQL基本操作

库管理命令

  • 库 类似于文件夹, 用来存储表
    • 可以创建多个库, 通过库名区分
    • 库命名规则
      • 仅可以使用数字、字母、下划线、不能纯数字
      • 区分字母大小写, 具有唯一性
      • 不可使用指令关键字、特殊字符
	show databases; 			# 显示已有的库
	select user(); 				# 显示连接用户
	use 库名; 						# 切换库
	select database 库名; 		# 显示当前所在的库
	create database 库名;		# 创建新库
	show tables; 				# 显示已有的表
	drop database 库名; 		# 删除库 

表管理命令

	# 建表 表类似于存储数据的文件
	create table 库名.表名(
		字段名1 类型(宽度) 约束条件,
		字段名2 类型(宽度),
		....)DEFAULT CHARSET=utf8; 		# 指定中午字符集, 可以给字段赋值中文
	desc 库名.表名;			# 查看表结构
	drop table 库名.表名;	# 删除表

记录管理命令

	# 查看表记录
	select * from 库名.表名;
	# 插入表记录
	insert into 库名.表名 values(值列表);
	insert into db1.stuinfo values("jim","usa"),("lilei","china");
	# 修改表记录
	update 库名.表名 set 字段=;
	update db1.stuinfo set homeaddr="beijing";
	# 删除表记录
	delete from 表名;

MySQL 数据类型

常见信息种类

  • 信息种类
    • 数值型 : 体重、身高、成绩、工资
    • 字符型 : 姓名、工作单位、通信住址
    • 枚举型 : 兴趣爱好、性别、专业
    • 日期时间型 : 出生日期、注册时间

字符类型

  • 定长 : char(字符个数)
    • 最大字符个数255
    • 不够指定字符个数时在右边用空格补全
    • 字符个数超过时, 无法写入数据
  • 变长 : varchar(字符个数)
    • 按数据类型时间大小分配存储空间
    • 字符个数超出时, 无法写入数据
  • 大文本类型 : text/blob
    • 字符大于65535存储时使用

数字类型

  • 整数型
类型名称有符号范围无符号范围
tinyint微小整数-128~1270~255
smallint小整数-32768~327670~65535
mediumint中整型-2^23 ~ 2^23 -10~2^24 -1
int大整型-231~231 -10~2^32 -1
bigint极大整型-263~263-10~2^64-1
unsigned使用无符号存储范围
  • 浮点型
    • 格式1 : 字段名 类型;
    • 格式2 : 字段名 类型(总宽度,小数位数)
类型名称
float单精度
double双精度

日期时间类型

  • 日期时间datetime

    • 范围 : 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
    • 格式 : yyyymmddhhmmss
  • 日期时间timestamp

    • 范围 : 1970-01-01 00:00:00 ~ 2038-01-19 00:00:00
    • 格式 : yyyymmddhhmmss
  • 日期 date

    • 范围 : 0001-01-01 ~ 9999-12-31
    • 格式 : yyyymmdd
  • 年 year

    • 范围 : 1901 ~ 2155
    • 格式 : yyyy
  • 时间 time

    • 格式 : HH:MM:SS
  • 关于日期时间自段

    • 当未给timestamp字段赋值时, 自动以当前系统时间赋值, 而 datetime 值为NULL
  • year类型

    • 要求使用4位数赋值
    • 当使用两位数赋值时 :
      • 01~69 视为 2001 ~ 2069
      • 70~99 视为 1970 ~ 1999
  • 时间函数

    • MySQL服务内置命令
      • 可以使用时间函数给字段赋值
类型用途
curtime()获取当前的系统时间
curdate()获取当前的系统日期
now()获取当前系统日期和时间
year()获取年
month()获取月
day()获取日
date()获取日期
time()获取时间

枚举类型

  • enum 单选

    • 格式 : 字段名 enum(值1,值2,值N)
    • 仅能选择一个值
    • 字段值必须在列表里选择
  • set 多选

    • 格式 : 字段名 set(值1,值2,值N)
    • 选择一个或多个
    • 字段值必须在列表里选择
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值