一、数据库概述
1、概念
-----在服务器上用于解决海量数据存储的一类软件的统称
2、数据库的分类
1)关系型数据库RDBMS(eg:mysql)
-----数据持久化存储
-----数据结构化存储(有几个字段的数据存储在有几个字段的表中)
-----数据与数据之间可以建立关联
2)非关系型数据库NoSQL(eg:redis)
-----数据灵活存储(非结构化数据,即无需定义表结构)
-----通常存放在内存、每条数据完全独立、无体系化的SQL
3) 图形数据库Graph Database
-----用于存储图形数据,如社交网络、知识图谱等数据。采用节点和边进行数据建模。
4) 内存数据库
5)分布式数据库
3、基础知识
-----mysql(8.0) 默认登录无密码
-----mysql(5.0) 初始密码在 /var/log/mysql/mysqld.log 里面
-----除了shell,其他语言定义的函数调用时候是用:函数名()
-----shell定义的函数调用时候是:函数名
-----mysql的主配置文件: /etc/my.cnf.d
二、MySql概述
1、主要版本
2、主要特点
3、典型应用环境
三、MySQL具体应用
1、基本操作
-----安装提供服务和命令软件
[root@mysql50 ~]# yum -y install mysql-server mysql
-----查看软件信息
[root@mysql50 ~]# rpm -qi mysql-server
-----设置开机自启动
[root@mysql50 ~]# systemctl start mysqld //启动服务
[root@mysql50 ~]# systemctl enable mysqld //开机运行
-----查看端口
ss -utnlp | grep 3306 查看端口
netstat -utnlp | grep mysqld //仅查看mysqld进程
-----说明:
MySQL 8中的3306端口是MySQL服务默认使用的端口,主要用于建立客户端与MySQL服务器之间的连接。
MySQL 8中的33060端口是MySQL Shell默认使用的管理端口,主要用于执行各种数据库管理任务。远程管理MySQL服务器:使用MySQL Shell连接到MySQL服务,并在远程管理控制台上执行各种数据库管理操作,例如创建、删除、备份和恢复数据库等。
-----连接服务
[root@mysql50 ~]# mysql //连接服务
-----断开连接
mysql> exit //断开连接
-----查看数据库软件版本
mysql> select version() ; //查看数据库软件版本
-----查看登录的用户和客户端地址
mysql> select user() ; //查看登陆的用户和客户端地址
-----查看已有的库
mysql> show databases; //查看已有的库
-----说明
1)默认4个库 不可以删除,存储的是 服务运行时加载的不同功能的程序和数据。
2)information_schema:是MySQL数据库提供的一个虚拟的数据库,存储了MySQL数据库中的相关信息,比如数据库、表、列、索引、权限、角色等信息。它并不存储实际的数据,而是提供了一些视图和存储过程,用于查询和管理数据库的元数据信息。
3)mysql:存储了MySQL服务器的系统配置、用户、账号和权限信息等。它是MySQL数据库最基本的库,存储了MySQL服务器的核心信息。
4)performance_schema:存储了MySQL数据库的性能指标、事件和统计信息等数据,可以用于性能分析和优化。
5)sys:是MySQL 8.0引入的一个新库,它基于information_schema和performance_schema视图,提供了更方便、更直观的方式来查询和管理MySQL数据库的元数据和性能数据。
-----查看当前在那个库里 null 表示没有在任何库里
mysql> select database(); //查看当前在那个库里 null 表示没有在任何库里
-----切换到mysql库
mysql> use mysql ; //切换到mysql库
-----显示库里已有的表
mysql> show tables; //显示库里已有的表
-----mysql -e 可以在linux命令行下进行mysql命令
2、密码管理
-----设置root密码为tarena
[root@mysql50 ~]# mysqladmin -uroot -p password "tarena"
-----连接时输入密码
[root@mysql50 ~]# mysql -uroot –ptarena
-----修改root密码为123qqq…A
[root@mysql50 ~]# mysqladmin -uroot -ptarena password "123qqq...A"
-----旧密码无法登陆
[root@mysql50 ~]# mysql -uroot –ptarena
-----新密码登陆
[root@mysql50 ~]# mysql -uroot -p123qqq...A