mysql的实验环境_第04 章 MYSQL实验环境创建
第04 章 MYSQL实验环境创建
一、下载MY
https://dev.mysql.com/downloads/file/?id=476476
1.1 Oracle
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
driverClass:oracle.jdbc.driver.OracleDriverurl:jdbc:oracle:thin:@localhost:1521/dbname
1.2 MySql
https://dev.mysql.com/downloads/file/?id=476476
driverClass:com.mysql.jdbc.Driverurl:jdbc:mysql://localhost:3306/dbname
---测试数据库的文档:https://dev.mysql.com/doc/index-other.html
--PDF文档:https://downloads.mysql.com/docs/employee-en.pdf
---数据库下载地址:https://github.com/datacharmer/test_db
wget https://github.com/datacharmer/test_db.git
wget http://downloads.mysql.com/docs/sakila-db.tar.gz
--git下载方式(建议下载方式)
git clone https://github.com/datacharmer/test_db.git && cd test_db
mysql -uroot -p123456 -t < employees.sql
二、实战演示的内容
2.1 案例数据库的安装
--上传到/mysql目录下
--安装zip工具
yum install -y unzip zip
--解压
gz格式:
tar -zxvf sakila-db.tar.gz
zip格式:
unzip sakila-db.zip
cd test_db-master/
--核实存储引擎是否为innodb,如果不是需要改成与数据库一致
more sakila-schema.sql
more employees.sql |grep storage_engine //管道检索是否为innodb
default_storage_engine=innoDB
--修改文件的自动增删查操作
打开vim employees.sql文件,增加set autocommit=1语句,设置下面的增删改自动提交。
--
set autocommit=1
DROP DATABASE IF EXISTS employees;
--因为在my.cnf参数中设置为非自动提交。
[root@itpuxdb mysql]# cat my.cnf |grep autocommit
autocommit=0 #指事务非自动提交,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit"才能提交事务。
---导入 employees.sql数据示范库,-t为显示导入表信息,-p需要密码
mysql -t < employees.sql -uroot -p
--验证导入数据库内容是否正常
sha方法1:
time mysql -t < test_employees_sha.sql -uroot -p
md5验证方法2:
time mysql -t < test_employees_md5.sql -uroot -p
--进入数据库
show databases;
use itpuxdb;
select count(*) from itpux_m5;
--有数据但是显示乱码。
-显示当前变量,含有char,查看字符集
show variables like 'char%';
-临时解决
set names utf8;
-永久解决,修改my.cnf参数,1为使用服务器端,0为使用本地终端。需要重新登陆MYSQL。
在字符集下增加skip-character-set-client-handshake=1
--
2.2 数据库的创建与管理
---数据库命名规范
数据库名不能超过30个字符,推荐使用下划线命名方式。
数据库命名必须为项目英文名称或有意义的简写。
数据库创建时必须 添加默认字符集和校对规则子句(排序规则)。
utf8:utf8_general_ci(推荐方式)方式不区分大小写; utf8_general_cs区分大小写;utf8_bin二进制;
命名应该使用小写。
---字符集选择
自开发系统的数据库UTF8作为 字符集的唯一选择,默认字符集为了UTF8.
--建议utf8和utf8_general_ci(推荐方式)
外购系统的字符 集按照开发和业务要求选择,需申请例外.
使用工具导出的数据脚本文件,必须在导出工具中,显示选择UTF8作为导出格式 .
在恢复 前需要编辑,必须使用纯文本方式找到开\编辑和保存,防止 隐含控制 字符(如^M)添加 进脚本.
在LINUX环境,可以通过 "cat -A脚本文件名"方式确认和检查是否携带了隐含控制字符.
--备注
unicode 万国码,统一码,单一码:ucs2,utf16,utf61e,utf8,utf8mb4,utf32;
utf8(推荐方式):1字符占1~3个字节. 国内最好使用此格式.原系统升级或者与老系统有交互的情景.
utf8mb4:1字符占1~4个字节. 跨国项目,可以兼容更多国家语言.新建全新系统,不与其他老系统对接.
---数据库设计规范
01.控制单实例表个数控制在3W以内.
02.控制单库表个数,建议单库不超过4096个表.
03 创建数据库的语句必须包含字符集子句和校对规则子句,如:
create database XXX [if not exists] default character set UTF8 default collate utf8_general_ci;
2.3 各种数据类型的创建与讲解
mysql的实验环境_第04 章 MYSQL实验环境创建相关推荐
- MySQL数据库https接口_第三章 mysql 数据库接口程序以及SQL语句操作
mysql 数据库接口程序以及SQL语句操作 用于管理数据库: 命令接口自带命令 DDL:数据定义语言(create drop ) DCL: 数据控制语言(grant revoke) DML: 数据 ...
- mysql索引执行计划_第六章· MySQL索引管理及执行计划
一.索引介绍 1.为什么要做索引 让获取的数据更具有目的性,从而提高数据库检索数据的性能 2.索引类型介绍 1)BTREE:树索引 B+树索引 B*树索引 2)HASH:HASH索引 3)FULLTE ...
- 【GNURadio实验报告】实验1-配置Ubuntu22.04+GNURadio开发调试环境
[GNURadio实验报告]实验1-配置Ubuntu22.04+GNURadio开发调试环境 一.配置虚拟机环境 (一)什么是虚拟机 (二)安装VMware WorkStation (三)安装Ubun ...
- mysql架构组成_第 2 章 MySQL 架构组成
麻雀虽小,五脏俱全.MySQL 虽然以简单著称,但其内部结构并不简单.本章从MySQL物理组成.逻辑组成,以及相关工具几个角度来介绍 MySQL 的整体架构组成,希望能够让读者对 MySQL 有一个更 ...
- mysql query 优化_第 8 章 MySQL 数据库 Query 的优化
前言: 在之前"影响 MySQL 应用系统性能的相关因素"一章中我们就已经分析过了Query语句对数据库性能的影响非常大,所以本章将专门针对 MySQL 的 Query 语句的优化 ...
- linux shell 变量减法_第四章 shell和环境变量
第四章 shell和环境变量 4.1 shell简介 4.1.1 编译器 一台计算机从基本架构上讲,由最基本的硬件组成硬件结构(如:cpu.内存.主板.声卡.显卡等),我们知道,硬件组成完备,但 ...
- docker mysql 生产环境_如何部署Docker MySQL生产环境?
1 前言 Docker容器原则上是短暂的,如果容器被删除或损毁,数据或配置将丢失,所以上个章节部署的MySQL只适合于测试环境,由于生产的需求,本章将使用Docker卷机制持久保存Docker容器中创 ...
- 多个mysql 环境_关于几个MySQL环境问题的对比
有时候出现了环境问题,对比是一种很好的方式,如果对比得当,可以避免反复的出现问题,可以根据对比的情况推理出一些可能出现的情况或者问题. 如果对比不当,很可能得出错误的结论.今天就简单举几个例子来说明一 ...
- mysql索引和数据完整性答案_第5章MySQL索引与完整性约束.ppt
第5章MySQL索引与完整性约束 5.3.4 CHECK完整性约束 CHECK完整性约束在创建表的时候定义.可以定义为列完整性约束,也可定义为表完整性约束. 语法格式: CHECK(expr) [例5 ...
最新文章
- 令牌桶的自定义注解核心API演示
- Android官方技术文档翻译——Gradle 插件用户指南(7)
- ios开发text kit_IOS开发入门之TextKit详解
- ActiveMQ Cannot send, channel has already failed: tcp:127.0.0.1:8161
- linux下 安装tengine
- 【C++基础学习】C++中union结构
- Struts2中使用OGNL表达式语言访问静态方法和静态属性以及我遇到的问题和解决方法
- 在事件代码中访问类中变量的三种方法
- Linux创建sqlite数据库文件,SQLite数据库的创建与附加
- java打包拆包_关于java中JDK5的打包,拆包以及==和equals的问题
- Eclipse-JAVA版本
- java简单的数据库查询(SQLServer数据库)
- 图片PDF转word
- 几招最有效的防辐射的方法
- 刚入职的程序员小白你该如何提升自己?(新手看)
- 1.10 python 基本数据类型-集合
- 企业微信推送消息延迟_微信接收消息总是延迟?没有提醒,这3个功能赶紧设置一下...
- tplmap-模板注入工具
- 微服务09——中间件
- Python:enumerate函数
热门文章
- R语言distRhumb函数计算距离实战(两个地理点之间的Rhumb距离)
- 安装没有在R包仓库CRAN上托管的R包
- LinearAlgebra_1
- 自然语言处理发展历程自我总结
- 【编译】makefile使用
- mysql在win服务器上安装linux_MySql数据安装Linux+Windows
- 卫星图像中的车辆分析--A Large Contextual Dataset for Classification, Detection and Counting of Cars
- 人群密度估计--CrowdNet: A Deep Convolutional Network for Dense Crowd Counting
- LeetCode 144. Binary Tree Preorder Traversal--二叉树前序遍历--反向压栈--迭代-栈,递归--C++,Python解法
- Linux中的无人职守安装脚本kickstart