1 实训二前期LNMP简易架构 1.1 php server安装 |
1.2 安装初始化数据库 |
2 Mysql数据库 |
2.1 Mysql5.7安装 |
2.1.1 rpm安装 |
2.1.2 yum安装 |
2.1.3 源码安装 |
2.1.4 编译好的非rpm包安装 |
2.1.5 my.cnf常见选项 |
2.2 Mysql基础 |
2.2.1 MySql数据库操作 |
2.2.2 MySql数据类型 |
2.2.2.1 整型 |
2.2.2.2 浮点数和定数 |
2.2.2.3 字符串类型 |
2.2.2.4 日期和时间类型 |
2.2.2.5 字段修饰和约束 |
2.2.2.6 业务建表练习 |
2.2.3 MySql表操作 |
2.2.4 MySql体系结构 |
2.2.5 MySql存储引擎 |
2.3 MySql操作 |
2.3.1 MySql数据操作 |
2.3.2 MySql单表查询 |
2.3.3 MySql多表查询 |
2.3.4 MySql存储过程与函数 |
2.4 MySql操作-2 |
2.4.1 MySql安全机制 |
2.4.2 MySql日志管理 |
2.4.3 MySql复制概述 |
2.4.4 主从同步 |
2.5 最基本sql语句及主从架构 |
2.6 MyCat中间件 |
2.6.1 部署Mycat |
2.6.2 配置读写分离 |
2.6.2.1 安全的读写分离 |
2.6.3 XML语法格式 |
2.6.4 mycat 分表分库 |
2.7 Mysql MHA |
2.7.1 MHA-部署 |
2.7.2 MHA-故障切换VIP透明 |
2.7.2.1 VIP切换脚本内容 |
2.7.2.2 VIP-手动在线切换脚本 |
2.7.3 MHA+Mycat高可用Mysql读写分离 |
2.7.4 MHA+VIP+Mycat |
2.7.5 MHA-故障切换邮件报警 |
2.7.6 自动配置Slave主机 |
3 实验 |
3.1 mysql授权问题 |
3.2 1.单节点数据库 |
3.3 2.主从同步 |
3.4 3.实验(高可用) |
3.4.1 高可用keepalived |
3.4.1.1 keepalived install |
3.5 4.实验(高可用+大并发) |
3.5.1 HAproxy代理 |
3.6 4.实验(mycat-读写分离) |
3.6.1 mycat安装部署 |
3.6.2 读写分离高可用 |
3.6.3 mycat管理端口命令 |
3.7 5.双主双从-读写分离-高可用 |
3.8 6.mycat分库操作 |
3.9 7.mycat分表 |
3.10 8.mycat分库分表之下实现读写分离 |
4 Shell脚本编程 |
5 Zabbix监控 |
5.1 zabbix设置邮件报警--自定义报警媒介 |
5.2 zabbix解决中文界面乱码问题 |
5.3 ziabbix自带的template Linux OS |
5.4 zabbix-agent自定义收集数据 |
5.5 zabbix监控Nginx性能 |
5.6 综合配置 |
5.7 实验:监控nginx端口实现告警 |
6 ELK日志分析 |
6.1 PS |
6.2 es-head插件安装 |
6.3 安装filebeat nginx日志模板 |
一、数据库的基本介绍
什么是数据库? 数据---记录---存储 分析---结果---决策 # 目前人类社会中最具有价值的东西 ------ 数据 # 数据怎么产生的 ---- 如何采集 ---- 如何传输 ----- 如何存放 ----- 如何管理---(如何提供高效查询)
从前的人们如何采集数据? 又是如何存放数据的呢? 计算机===》 文件系统===》 文件 access.log ===》磁盘
意识---符号-----图画------文字-----文明 ------------------------ | 载体, 岩石,泥土,金属,木板,竹子,造纸,磁带,磁盘(无序存储,文件分类存储,专用数据软件有序有规则存储)
什么叫 数据库(database)?
1 存储数据的容器。 2 数据库(database): 保存有组织的数据的容器 (通常是一个文件或一组文件)。 3 数据库(Database) 是按照数据结构来组织、存储和管理数据的仓库 4 严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。 数据库中的数据指的是以一定的数据模型组织、描述储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可 在一定范围内为多个用户共享。
什么叫 数据库管理系统 ( DataBase Management System DBMS)? ==================
数据库管理系统(DBMS): 顾名思义,既然是数据管理系统,就是用来管理数据的数据库软件
2017年1月份前20名数据库引擎排名。 去 I O E
数据库产品的行业占比及排名:
1. Oracle:金融、通信、生产制造、快速消费品零售、物流运输、医疗、互联网、政府; 2. DB2:金融为主; 3. Sybase:金融、通信、政府 为主; 4. SQL Server:政府、生产制造、快速消费品零售、医疗、互联网为主; 5. MySQL:互联网为主,近2年开始扩展到 金融、通信、生产制造、快速消费品零售、物流运输、医疗、政府等行业;
国内的金融领域像基金公司、证券公司、中国银联、银行业都在尝试 去IOE,使用 MySQL + X86 主机; 三大电信运营商,也在大力推动 去IOE,且已有众多大型项目上线 广播电视、生产制造、物流运输、快速消费品零售都在大力 去IOE,且也有多个重大项目上线
Mysql 与 MariaDB
mysql 的前世与今生:
MySQL的海豚标志的名字叫 “sakila”,代表速度、力量、精确。 它是由MySQL AB的创始人 Michael Monty Widenius 米切尔,威尔德斯, 从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。 “My”来自Monty女儿的名字,而 “SQL” 就是结构化查询语言(Structured Query Language)的意思,是一种跟数据库沟通的语言。
MySQL AB 最初是由David Axmark、Allan Larsson和Michael“Monty”Widenius在瑞典创办的。
RHEL 7 MariaDB
Monty是一位编程天才。19岁的时候,他从赫尔辛基理工大学辍学开始全职工作,因为大学已经没有什么东西可以教他了。 在独自一人写完除了一个库以外的全部代码之后,33岁时,他发布了MySQL,后来后者成为了全世界最流行的开源数据库。 55岁时,他藐视着对老年人的歧视,仍然是自己公司最好的程序员。
MySQL的历史最早可以追溯到 1979 年,那时 Oracle 也才小打小闹,微软的SQL Server影子都没有。 有一个人叫Monty Widenius, 为一个叫TcX的小公司打工,并用BASIC设计了一个报表工具,可以在4M主频和16KB内存的计算机上运行。 过了不久,又将此工具,使用 C语言重写,移植到Unix平台,当时,它只是一个很底层的面向报表的存储引擎。这个工具叫做Unireg。 可是,这个小公司资源有限,Monty天赋极高,面对资源有限的不利条件,他反而更能发挥潜能,总是力图写出最高效的代码。 并因此养成了习惯。与Monty同在一起的还有一些别的同事,很少有人能坚持把那些代码持续写到20年后,而Monty却做到了。
1990年,TcX的customer 中开始有人要求要为它的API提供 SQL支持,当时,有人想到了直接使用商用数据库算了,但是Monty觉得商用 数据库的速度难令人满意。于是,他直接借助于mSQL的代码,将它集成到自己的存储引擎中。但不巧的是,效果并不太好。 于是, Monty雄心大起,决心自己重写一个SQL支持。
1996年,MySQL 1.0发布,只面向一小拨人,相当于内部发布。
1996年10月,MySQL 3.11.1发布了。 最开始,只提供了Solaris下的二进制版本。一个月后, Linux版本出现了。。
MySQL3.22是一个标志性的版本,提供了基本的 SQL支持。
MySQL关系型数据库于 1998年1月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式, 提供了面向 C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型 并且提供了完整的操作符支持查询中的SELECT和WHERE操作。
1999-2000年,有一家公司在瑞典成立了,叫 MySQL AB (AB是瑞典语“股份公司”的意思)。 开发出了 Berkeley DB引擎, 因为BDB支持事务处理, 所以,MySQL从此开始支持事务处理了。
2000年4月,MySQL对旧的 存储引擎 进行了整理,命名为 MyISAM。 2001年,Heikiki Tuuri 向 MySQL提出建议,希望能集成他们的 存储引擎 InnoDB,这个引擎同样支持事务处理,还支持行级锁。 MySQL与InnoDB的正式结合版本是 4.0。
到了MySQL5.0,2003年12月,开始有View,存储过程之类的东东,其间,bug也挺多。
在2008年1月16号 MySQL 被 Sun 公司 收购。
MySQL的创始人 Monty Widenius 则选择离开 Sun公司另求出路。 据说,被Sun收购的公司多薄命,不知道MySQL今后前途如何。
在Sun被 Oracle 收购之后,Monty 成立了MariaDB,这是MySQL的一个社区版的分支,开发的团队成员很多都是MySQL团队里面的, 使用的也是一样的官方语言:“蹩脚的英语”。MySQL的许多热心的开源信徒跟着Monty去到了MariaDB。MariaDB更加面向开发者, 允许由外人打补丁这样的事情发生,在很多Linux发行版中它都是默认的数据库。
==开源 与 闭源 =============
介绍 open source 和 closed source 的概念和区别, open source和他相对应的就是闭源closed source应用, 闭源的东西又叫做 copyright(版权、著作权), 微软的东西一般都是 copyright;而开源的叫做 copyleft(非盈利版权,公共版权)。 格奴 GNU GPL
收购mysql的是当时比较著名的sun公司,有很多非常经典的产品都是sun开发出来的,比如他的java编程语言。 除了java语言以外sun公司还开发过很多经典的技术,sun公司有钱有实力,但是由于经营的问题,最后就倒闭了, 然后被oracle收购,现在mysql所属于oracle。
== IT界的革命,去 IOE。============
三个非常著名的公司,IBM、ORACLE、EMC, 这三个公司有业界一流的产品,IBM 有他的小型机,从服务器的性能上来讲小型机已经算是顶尖的,比你的pc server要好的多; 然后Oracle的数据业界顶尖的; EMC 的存储设备也是业界顶尖的。
Maria DB 的出现
MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以 10亿美元 的价格, 将自己创建的公司MySQL AB卖给了 SUN,此后,随着SUN被甲骨文收购,MySQL 的所有权也落入Oracle的手中。
MariaDB 名称来自 Michael Widenius 的女儿 Maria的名字。
2009年,MySQL之父Michael “Monty” Widenius用他的新项目 MariaDB 完成了对 MySQL的 “反戈一击”。 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将 MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。
过去一年中,大型互联网用户以及Linux发行商 纷纷抛弃 MySQL,转投MariaDB阵营。 MariaDB 是目前最受关注的 MySQL 数据库衍生版,也被视为开源数据库MySQL的替代品。
MariaDB 虽然被视为 MySQL 数据库的替代品,但它在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。
而且从MySQL迁移到 MariaDB 也是非常简单的:
1、数据和表定义文件(.frm)是二进制兼容的 2、所有客户端API、协议和结构都是完全一致的 3、所有文件名、二进制、路径、端口等都是一致的 4、所有的 MySQL连接器,比如PHP、Perl、Python、Java、.NET、MyODBC、Ruby以及MySQL C connector等在MariaDB中都保持不变 5、mysql-client包在MariaDB服务器中也能够正常运行。 mysql 6、共享的客户端库与MySQL也是二进制兼容的
也就是说,在大多数情况下,你完全可以卸载MySQL然后安装MariaDB,然后就可以像之前一样正常的运行
所以可以很方便地从 mysql 的环境迁移到 mariadb上面。
maraidb也做的非常好,刚开始比不过mysql,但是近两年mysql有的优点他都有, 甚至他还有很多自己专有的优点。
MariaDB 提供以下特性: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5.1 InnDB 2.5倍
Percona XtraDB Percona DB Mysql 开源分支 ===== MariaDB PerconaDB XtraDB InnoDB • XtraDB 替换 InnoDB,XtraDB 是 Percona 开发维护的 InnoDB 威力加强版,整合 Google、Facebook 等公司和 MySQL 社区的补丁。 • Aria 存储引擎 和 Sphinx 存储引擎 • 基于 Gelera Cluster 的 MariaDB 集群方案 多主复制(将在 MariaDB 10.0 实现,由淘宝贡献) • Cassandra 存储引擎(将在 MariaDB 10.0 实现)
• Aria(原名Maria) 存储引擎:原先 MyISAM 引擎的取代品。 • XtraDB 存储引擎 Percona XtraDB 是 InnoDB 存储引擎的增强版,被设计用来更好的使用更新计算机硬件系统的性能,同时还包含有一些在高性能环境下的新特性。 XtraDB 存储引擎是完全的向下兼容,在 MariaDB 中,XtraDB 存储引擎被标识为"ENGINE=InnoDB",这个与 InnoDB 是一样的, 所以你可以直接用XtraDB 替换掉 InnoDB 而不会产生任何问题。 Percona XtraDB 包含有所有 InnoDB's 健壮性,可依赖的 ACID 兼容设计和高级 MVCC 架构。 XtraDB 在 InnoDB 的坚实基础上构建,使 XtraDB 具有更多的特性,更好调用,更多的参数指标和更多的扩展。 从实践的角度来看,XtraDB 被设计用来在多核心的条件下更有效的使用内存和更加方便,更加可用。 新的特性被用来降低 InnoDB 的局限性。 MariaDB 对存储引擎新特性的选择基于用户的需求和现实环境中的真实需求。 • 更快的复制查询处理 • 线程池 • 更少的警告和bug • 运行速度更快 • 多的 Extensions (More index parts, new startup options etc) • 更好的功能测试 • 数据表消除 • 慢查询日志的扩展统计 • 支持对 Unicode 的排序
数据表(二维表):
数据库 =====》 数据表 =======》 数据 database table data record | 二维表(列(字段),行(记录)) | | Filed Row
数据库 ====》 目录 数据表 ====》 文件(多个文件构成)| |===》决定于存储引擎 (MyISAM, InnoDB) 表结构 students.frm 附件属性 db.opt 数据 ibdata1(共享表空间) 具体的某条数据====》 在某个文件。 | | | a.MYI a.MYD a.frm | 索引,数据,表结构
快速安装及初始化设置 MariaDB CentOS 7/Redhat7
[root@class2 ~]# yum list | grep mariadb mariadb.x86_64 1:5.5.56-2.el7 @base mariadb-libs.x86_64 1:5.5.56-2.el7 @anaconda mariadb-server.x86_64 1:5.5.56-2.el7 @base mariadb-bench.x86_64 1:5.5.56-2.el7 base mariadb-devel.x86_64 1:5.5.56-2.el7 base mariadb-test.x86_64 1:5.5.56-2.el7 base
[root@class2 ~]# yum install mariadb* 建立mysql 专用的 运行用户,RPM 版本可以省略这一步: groupadd mysql useradd -u 27 mysql -g mysql
初始化数据库:RPM 版本可以忽略: 数据库: 目录 数据表: 几个文件共同组成 数据 : 包含在数据文件中 如果不自定义目录,则初始化的数据库,默认放置在 /var/lib/mysql | [root@class2 mydb]# mysql_install_db --datadir=/mysql --user=mysql ## 对 /mydb 目录,确保 mysql 用户具有读写权限 ## 后续要创建 socket 套件字文件。 [root@class2 mydb]# chown -R mysql * ### 确保mysql用户对 mysql 的组件有读写权限 [root@class2 mydb]# ll total 28700 -rw-rw---- 1 mysql mysql 16384 Jan 7 21:19 aria_log.00000001 ##二进制日志 -rw-rw---- 1 mysql mysql 52 Jan 7 21:19 aria_log_control ##日志控制文件 -rw-rw---- 1 mysql mysql 18874368 Jan 7 21:19 ibdata1 ## 共享表空间文件(数据和索引 frm 文件存放表的描述) -rw-rw---- 1 mysql mysql 5242880 Jan 7 21:19 ib_logfile0 ##innodb引擎的事务日志 也叫 redo 日志 -rw-rw---- 1 mysql mysql 5242880 Jan 7 21:19 ib_logfile1 drwx------ 2 mysql mysql 4096 Jan 7 21:19 mysql ##默认创建的mysql运行配置数据库 srwxrwxrwx 1 mysql mysql 0 Jan 7 21:19 mysql.sock ## 套接字文件,随服务的启动而 建立和 消亡 drwx------ 2 mysql mysql 4096 Jan 7 21:19 performance_schema ## 性能概要数据库, 可以通过调整该 数据库表中的值, 进而调整数据库运行性能 drwx------ 2 mysql mysql 6 Jan 7 21:19 test ## 默认创建的 Test 数据库, 空库
## 服务启动后,还会动态生成一个 information_schema 数据库,默认存放 数据库启动后的运行状态信息,供查询和实时调整。
修改配置文件 : /etc/my.cnf [root@server-17 /mysql]# cat /etc/my.cnf
[mysql] socket=/mysql/mysql.sock
[mysqld] datadir=/mysql socket=/mysql/mysql.sock symbolic-links=0
[mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid
!includedir /etc/my.cnf.d 启动服务: ---------------------------------------------- systemctl start mariadb 检测端口: netstat -ntl 3306 ## rpm 版本的数据库,直接启动服务的话,会默认帮我们完成 创建用户, 和初始化数据库的步骤。
客户端工具: ---------------------------------------------- [root@class2 data]# mysql ## 登录,默认管理员没有密码,可以直接登录。 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 4 Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
速度上手,mysql 客户端 简易操作指令:------------------------------------------
MariaDB [(none)]> 客户端工具 没有 tab 键 ctrl + a ctrl + e 右ctrl + L 清屏 sql 语句默认都以 ; 为语句结束。 命令历史记录,上下键 ------------- mysql 命令历史记录 /root/.mysql_history 数据库 ----- 表 (行,列,字段) --------记录(数据) show databases; 查看所有数据库 use XXXX; 使用/进入 某个数据库 show tables; 查看表 show variables; 查看当前变量信息 show variables like “%innodb%”; 模糊查询变量信息 show variables like “%version%” \G 格式化输出信息,按行显示,更整齐 desc table-name; 查看表的结构 select * from table-name; 查看表中的数据 select 字段 from 数据库.表 select * from data.table; 例子: select user,host,password from mysql.user; | | 显示表中的所有字段。
修改数据库的 root 密码 :-------------------------------------------------------
### 默认创建了4个root用户,2个匿名用户,注意 Host 的不同,且密码全为空
MariaDB [mysql]> select Host,user,password from mysql.user;
MariaDB [myclass]> SELECT host,user,password FROM mysql.user; ### SQL 语句大写,标准要求!
## 使用update 语句更新root 密码 =================================
MariaDB [mysql]> UPDATE mysql.user SET Password=password('123123') WHERE User="root" AND Host="localhost";
Query OK, 1 row affected (0.01 sec) | Rows matched: 1 Changed: 1 Warnings: 0 password 函数
MariaDB [mysql]> delete from mysql.user where password=""; ##删除所有密码为空的 其他记录。
MariaDB [mysql]> SELECT Host,user,password FROM mysql.user;
MariaDB [mysql]> flush privileges; FLUSH PRIVILEGES; ##只要修改了权限表,可以 立刻刷新权限表生效
### 退出,再次登录时验证: [root@class2 ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@class2 ~]# mysql -uroot -p ## 键入密码后才可以登录 Enter password:
## mysql 客户端工具登录时完整用法
mysql -u用户名 -h主机名 -p明文密码 -P端口 -S套接字 例如: mysql -uroot -p123123 -h192.168.2.19 -P3306 -S/tmp/mysql.socket
######################### mysql.sock mysql.pid 随着服务的启动,自动创建,服务停止,自动删除。
迁移数据库,从默认的 /var/lib/mysql 迁移至 /mysql
===1、 停止数据库 systemctl stop mariadb ===2、 mv /var/lib/mysql/* /mysql rm -rf /mysql/lost+found ## 注意,迁移 后的 所有文件,保证 mysql 用户可以 读 + 写
===3、修改 新的 数据库目录,保证 mysql 可以读写 chown mysql:mysql /mysql
===4、修改主配置文件 /etc/my.cnf [root@server-13 var]# cat /etc/my.cnf
[client] password=123123 socket=/mysql/mysql.sock
[mysqld] datadir=/mysql ## 数据库目录 socket=/mysql/mysql.sock ## 套接字生成位置。 user=mysql ## 运行的身份依据 symbolic-links=0
log-error=/var/log/mariadb/mariadb.log ## 错误日志所在 pid-file=/var/run/mariadb/mariadb.pid ##PID 文件,存放 进程号。
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
### 由于项目中对一些默认值设置问题,以及种种原因,mysql数据库需要使用非严格模式开发(mysql最近的版本默认是开启严格模式的)。
=== 5、启动 ,停止,重载 mysql服务 。 [root@server-13 var]# cat /test/mysqld.sh
#!/bin/bash
start(){ /usr/libexec/mysqld & } stop(){ killall mysqld } reload(){ kill -hup `cat /var/run/mariadb/mariadb.pid` }
case "$1" in
start) start ;; stop) stop ;; reload) reload ;; *) echo "usage: start | stop | reload" esac
===6、测试,验证
netstat -ntl 能看到 3306 端口 要求:使用 mysql -uroot 的方式,即可以登录新的数据库实例。
在 shell中 直接操作 数据库,非交互式 mysql -e 选项 ----------------------------------------------
mysql -hlocalhost -uroot -p123123 -e "show databases; " ##别忘记分号,里面是一个完整的 sql 语句。 [root@class2 mysql]# mysql -uroot -p123123 -e "show databases;" +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | orders | | performance_schema | | test | +--------------------+
#### 这种方式有风险,root 密码会明文的 暴露,解决方法: 使用 my.cnf 主配置文件中的 [ client ] 配置段; 编辑主配置文件 : [root@class2 mysql]# vim /etc/my.cnf 在配置文件首部添加如下两行 ,mysql 客户端工具默认会读取 这个文件的 client 配置段: [mysql] password=123123 socket=/mydb/mysql.sock
[root@class2 mysql]# chown mysql /etc/my.cnf [root@class2 mysql]# chmod 400 /etc/my.cnf ##将改文件保护起来,不让别人轻易读取明文密码。 [root@class2 mysql]# ll /etc/my.cnf -r-------- 1 mysql root 595 Jan 7 23:57 /etc/my.cnf
使用shell 脚本操作 数据库 EOF 方式逐条 导入
### 前提,已经设置好 mysql 的root 密码,并将密码加入到了 my.cnf 中
例如:
前提是密码已经存入 /etc/my.cnf [mysql] 段中。
#!/bin/bash
mysql -uroot <<EOF show databases; select user,password,host from mysql.user; show variables like "%version%"; EOF
利用shell 脚本 导入范例数据库,方便观察和测试:---------------------------------------------------
create table 表名 ( 字段1 属性1 属性2 属性3, 字段2 属性2 属性3 ) 引擎 字符编码
#!/bin/bash
USER="root" DB="new_data" TB="product"
########################## mysql -u$USER << EOF drop database $DB; CREATE DATABASE $DB; use $DB;
CREATE TABLE $TB ( id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '表主键', 产品ID int(10) unsigned NOT NULL , 价格 decimal(15,2) NOT NULL, 购买数量 int(11) NOT NULL , 客户姓名 varchar(255) NOT NULL , 下单时间 varchar(30) NOT NULL , 修改时间 int(10) unsigned NOT NULL , 用户状态 tinyint(4) NOT NULL DEFAULT '0' COMMENT '用户状态标记', 年份 smallint(5) unsigned NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO $DB.$TB (产品ID,价格,购买数量,客户姓名,下单时间,修改时间,年份) VALUES ('1', '123.54', '1', '诸葛亮', now(), '$RANDOM','2015'); INSERT INTO $DB.$TB (产品ID,价格,购买数量,客户姓名,下单时间,修改时间,年份) VALUES ('33', '180.00', '2', '曹操', now(), '$RANDOM','2016'); INSERT INTO $DB.$TB (产品ID,价格,购买数量,客户姓名,下单时间,修改时间,年份) VALUES ('1434', '280.00', '3', '刘备', now(), '$RANDOM','2018');
EOF
|