1.使用场景?
1.java开发人员 业务数据库
2.大数据组件 元数据 、结果数据
2.什么是mysql?
1.关系型数据库: RDBMS
非关系型数据库NoSQL
1.存储数据
2.查询
2.类似表格
3.有行有列
3.背景:
处理数据 :excel
mysql:
存储数据,数据分析
一堆类似excel的表格
4.官网:www.mysql.com
MYAQL.COM:mysql的介绍,是干什么事情的
DOWNILOADS:下载安装包
DOCUMENTATION:使用手册文档
MySQL Server:MySQL服务
MySQL Reference Manual 点击加号
MySQL 5.7 Reference Manual
Installing and Upgrading MySQL:安装和升级
Tutorial:教程
Data Types:数据类型
Functions and Operators:函数和运算符
SQL Statements:SQL 语句
Installing MySQL on Linux
点击Download
选择Archives(全的),General Availability(GA) Releases:通用可用版本(不选)
Product Version:版本,选择5.7的
OperatingSystem:我的操作系统:选择Red Hat EnterpLin
OS Version:选择7
下载RPM Bundle
5.版本:
8.x 不是主流、java团队
5.7 it java 大数据 主流
5.6 目前公司也有
补充:
上传下载: yum install -y lrzsz
上传: rz
下载 :sz xxx
6.部署:
1.下载安装包:下载5.7版本
安装包种类:
rpm包 :mysql source code → rpm包
mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar
tar包:mysql source code +开发加的mysql代码 =》 编译打包生成 tar包
mysql-5.7.38-el7-x86_64.tar.gz
2.安装部署
1.上传mysql 安装包
新建一个文件夹software,然后进到这里上传安装包(直接把Windows里下载的安装包拖进去就行) 2.部署
1.解压: tar -xvf ./mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar
2.安装
1.卸载 mariadb 相关的东西
2.安装通用包、通用依赖包、依赖兼容包、客户端、服务端,顺序最好不变
rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm
注意:报错:conflicts with package mariadb-libs (如果没有第一步卸载mariadb 就会报这个错)
rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm
3.有一个 配置文件 管控mysql :/etc/my.cnf
mysql运行日志文件:log-error=/var/log/mysqld.log
4.初始化mysql :mysqld --initialize --user=mysql
初始化mysql要监听log-error,需要看到初始的密码 — —新开一个窗口监听
[root@bigdata221 software]# tail -f /var/log/mysqld.log
2022-11-03T02:27:34.906497Z 1 [Note] A temporary password is generated for root@localhost: ?kiZ4Lt:dPHH>
5.启动mysql :systemctl start mysqld
mysql 可以对外提供服务:port: 3306
Version: ‘5.7.38’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 MySQL Community Server (GPL)
6.登录mysql 使用:mysql -uroot -p密码(最好不输入密码,回车后在输入)
mysql -uroot -p?kiZ4Lt:dPHH
7.修改mysql 软件 root用户 密码:set password = password(‘123456’);
8.赋予权限 :flush privileges;
补充:
卸载:
1.mysql 停掉
systemctl stop mysqld
2.mysql卸载
rpm -qa | grep mysql
rpm -qa | grep mysql | xargs -n1 rpm -e --nodeps
3.linux存储目录删掉
find / -name “mysql”
注意:含有/sys/的不能删
4.重装
远程登录工具:
navcat 【次选择】
sqlyog
dbvear工具 【选择】
**远程登录访问:**修改 mysql 登录 运行用户的ip → 任意ip
root@localhost: 123456:只允许 当前机器登录
root@%: 123456:都可以登录
mysql语法:
1.查看数据库:show databases;
2.切换数据库:use mysql;
3.查看库下面有哪些表:show tables;
4.查看表中数据:select host,user from user;
5.修改表中数据:update mysql.user set host=“%” where user=“root”;
6.刷新权限:flush privileges;
基本语法:
{} 必选参数
| 可选
[] 可选
1.sql进行开发:
sql类型:
ddl数据定义语言:create:创建 drop:删除 alter:修改 show:查看
dml数据操作语言:nsert:插入 select:查询 update:更新 delete:删除
dcl 数据控制语言
2.查看数据库
SHOW {DATABASES | SCHEMAS}
[LIKE ‘pattern’ | WHERE expr]
SHOW DATABASES;
mysql> SHOW DATABASES;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
±-------------------+
4 rows in set (0.00 sec)
3.切换数据库:use dbname;
4.查看数据库下面的表
SHOW [FULL] TABLES
[{FROM | IN} db_name]
[LIKE ‘pattern’ | WHERE expr]
SHOW TABLES;
mysql> show tables FROM sys;
5.创建数据库
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_option] …
create_option: [DEFAULT] {
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
}
CREATE DATABASE bigdata;
6.创建表
字段:column :
1.名称
2.字段类型
常用字段类型:
1. 数值类型:
整数:
int 整型
long 长整型
小数:
float 单精度
double 双精度
decimal 小数 =》 跟钱挂钩的
2.字符串:
char 字节 长度 0-255 bigdataxxxxxxx 255(自动补齐到255,但后面不显示)
varchar 字符串(动态)
3. 日期:
date 日期: YYYY-MM-DD
time 时间 : HH:mm:SS
datetime 年月日时分秒 : YYYY-MM-DD HH:mm:SS
timestamp 年月日时分秒【时间戳】:YYYY-MM-DD HH:mm:SS
mysql> CREATE TABLE user_table(
-> id int(3),
-> name varchar(10),
-> age int(3)
-> );
Query OK, 0 rows affected (0.01 sec)
mysql> show tables;
±------------------+
| Tables_in_bigdata |
±------------------+
| user_table |
±------------------+
1 row in set (0.00 sec)
7.表中插入数据
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name
[(col_name [, col_name] …)]
{VALUES | VALUE} (value_list) [, (value_list)] …
[ON DUPLICATE KEY UPDATE assignment_list]
INSERT into user_table (id,name,age)VALUES (1,‘zhangsan’,10);
8.查看数据
* 表示所有字段
select *from user_table;
mysql> select * from user_table;
±-----±---------±-----+
| id | name | age |
±-----±---------±-----+
| 1 | zhangsan | 10 |
±-----±---------±-----+
1 row in set (0.00 sec)
相当于select name,age from user_table;