1 MySQL安装
1.1 安装包准备
1)卸载自带的Mysql-libs(如果之前安装过mysql,要全都卸载掉)
[atguigu@hadoop102 software]$ rpm -qa | grep -i -E mysql|mariadb | xargs -n1 sudo rpm -e --nodeps
2)将安装包和JDBC驱动上传到/opt/software,共计6个
01_mysql-community-common-5.7.16-1.el7.x86_64.rpm
02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm
03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
04_mysql-community-client-5.7.16-1.el7.x86_64.rpm
05_mysql-community-server-5.7.16-1.el7.x86_64.rpm
mysql-connector-java-5.1.27-bin.jar
1.2 安装MySQL
1)安装mysql依赖
[atguigu@hadoop102 software]$ sudo rpm -ivh 01_mysql-community-common-5.7.16-1.el7.x86_64.rpm
[atguigu@hadoop102 software]$ sudo rpm -ivh 02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm
[atguigu@hadoop102 software]$ sudo rpm -ivh 03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
2)安装mysql-client
[atguigu@hadoop102 software]$ sudo rpm -ivh 04_mysql-community-client-5.7.16-1.el7.x86_64.rpm
3)安装mysql-server
[atguigu@hadoop102 software]$ sudo rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm
4)启动mysql
[atguigu@hadoop102 software]$ sudo systemctl start mysqld
5)查看mysql密码
[atguigu@hadoop102 software]$ sudo cat /var/log/mysqld.log | grep password
1.3 配置MySQL
配置只要是root用户+密码,在任何主机上都能登录MySQL数据库。
1)用刚刚查到的密码进入mysql(如果报错,给密码加单引号)
[atguigu@hadoop102 software]$ mysql -uroot -p 'password'
2)设置复杂密码(由于mysql密码策略,此密码必须足够复杂)
mysql> set password=password("Qs23=zs32");
3)更改mysql密码策略
mysql> set global validate_password_length=4;
mysql> set global validate_password_policy=0;
4)设置简单好记的密码
mysql> set password=password("000000");
5)进入msyql库
mysql> use mysql
6)查询user表
mysql> select user, host from user;
7)修改user表,把Host表内容修改为%
mysql> update user set host="%" where user="root";
8)刷新
mysql> flush privileges;
9)退出
mysql> quit;
2 业务数据生成
2.1 连接MySQL
通过MySQL操作可视化工具SQLyog连接MySQL。
2.2 建表语句
1)通过SQLyog创建数据库gmall
2)设置数据库编码
3)导入数据库结构脚本(gmall2020-04-01.sql)
注意:完成后,要记得右键,刷新一下对象浏览器,就可以看见数据库中的表了
2.3 生成业务数据
1)在hadoop102的/opt/module/目录下创建db_log文件夹
[atguigu@hadoop102 module]$ mkdir db_log/
2)把gmall2020-mock-db-2020-04-01.jar和application.properties上传到hadoop102的/opt/module/db_log路径上。
3)根据需求修改application.properties相关配置
logging.level.root=info spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://hadoop102:3306/gmall?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8 spring.datasource.username=root spring.datasource.password=000000 logging.pattern.console=%m%n mybatis-plus.global-config.db-config.field-strategy=not_null #业务日期 mock.date=2020-06-14 #是否重置 mock.clear=1 #生成新用户数量 mock.user.count=1000 #男性比例 mock.user.male-rate=20 #用户数据变化概率 mock.user.update-rate:20 #收藏取消比例 mock.favor.cancel-rate=10 #收藏数量 mock.favor.count=100 #购物车数量 mock.cart.count=30 #每个商品最多购物个数 mock.cart.sku-maxcount-per-cart=3 #购物车来源 用户查询,商品推广,智能推荐, 促销活动 mock.cart.source-type-rate=60:20:10:10 #用户下单比例 mock.order.user-rate=95 #用户从购物中购买商品比例 mock.order.sku-rate=70 #是否参加活动 mock.order.join-activity=1 #是否使用购物券 mock.order.use-coupon=1 #购物券领取人数 mock.coupon.user-count=1000 #支付比例 mock.payment.rate=70 #支付方式 支付宝:微信 :银联 mock.payment.payment-type=30:60:10 #评价比例 好:中:差:自动 mock.comment.appraise-rate=30:10:10:50 #退款原因比例:质量问题 商品描述与实际描述不一致 缺货 号码不合适 拍错 不想买了 其他 mock.refund.reason-rate=30:10:20:5:15:5:5
4)并在该目录下执行,如下命令,生成2020-06-14日期数据:
[atguigu@hadoop102 db_log]$ java -jar gmall2020-mock-db-2020-04-01.jar
5)在配置文件application.properties中修改
mock.date=2020-06-15
mock.clear=0
6)再次执行命令,生成2020-06-15日期数据:
[atguigu@hadoop102 db_log]$ java -jar gmall2020-mock-db-2020-04-01.jar
2.2.4 业务数据建模
可借助EZDML这款数据库设计工具,来辅助我们梳理复杂的业务表关系。
1)下载地址
http://www.ezdml.com/download_cn.html
2)使用说明
(1)新建模型
(2)命名模型
(3)点击图标,选中模型
(4)导入数据库
(5)配置数据库连接
(6)选择导入的表
(7)建立表关系
第一步:点击选中主表(主键所在的表)
第二步:点击连接按钮
第三步:点击从表,配置连接条件
第四步:效果展示
3)使用技巧
(1)缩略图
(2)热键
按住shift键,用鼠标点击表,进行多选,可实现批量移动
按住ctrl键,用鼠标圈选表,也可进行多选,实现批量移动