MYSQL数据库简介
数据库基本概念
数据库简介
数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合;一个数据库由多个表空间(Tablespace)构成。
数据结构模型
数据库类型的区分主要参照的是数据结构模型,而常用的数据结构模型有很多:
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
- 半结构化模型
关系型数据库
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列(也就是表格)的形式存储数据,,一组表组成了数据库。通俗来讲这种数据库就是由多张表组成,并且这些表之间存在一定的关系。
关系型数据库的优点:
- 数据以表格的形式存储容易理解
- 支持SQL语言使用方便
- 易于维护
- 事务的一致性。
关系型数据库的缺点:
- 为了维护一致性所付出的巨大代价就是其读写性能比较差;
- 高并发读写效率较低;
- 海量数据的读写效率低;
- 固定的表结构。
关系型数据库举例:MySQL、Oracle、DB2、Microsoft SQL Server、SQLite等。
除了关系型数据库之外的数据库我们统称为:非关系型数据库(NoSQL)
MYSQL程序组成
MYSQL程序组成
- 客户端
mysql:CLI交互式客户端程序
mysql_secure_installation:安全初始化,强烈建议安装完以后执行此命令
mysqldump:mysql备份工具
mysqladmin
- 服务器端
mysqld
MYSQL安装方式
mysql安装方式有三种:
源代码: 编译安装
二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用
程序包管理器管理的程序包:
RPM:OS Vendor:操作系统发行商提供的、项目官方提供的
deb
MYSQL的安装
#启动mysql并设置开机自动启动
systemctl enable --now mariadb
systemctl status mariadb
#确保3306端口已经监听起来
ss -antl
LISTEN 0 80 *:3306 *:*
[root@dzc ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.17-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> set password = password("1"); //设置密码
Query OK, 0 rows affected (0.026 sec)
[root@dzc ~]# mysql -uroot -p1 //使用密码
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.3.17-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> quit //退出
Bye
[root@dzc ~]# mysql -uroot -p
Enter password: // 不推荐直接在命令行里直接用-pPASSWORD的方式登录,而是使用-p选项,然后交互式输入密码
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.3.17-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
MYSQL工具使用
//语法:mysql [OPTIONS] [database]
//常用的OPTIONS:
-uUSERNAME //指定用户名,默认为root
-hHOST //指定服务器主机,默认为localhost,推荐使用ip地址
-pPASSWORD //指定用户的密码
-P# //指定数据库监听的端口,这里的#需用实际的端口号代替,如-P3307
-V //查看当前使用的mysql版本
-e //不登录mysql执行sql语句后退出,常用于脚本
MYSQL实例
[root@dzc ~]# mysql -V
mysql Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using EditLine wrapper
[root@dzc ~]# mysql -uroot -pdzc123! -h127.0.0.1
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.23 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
//注意,不推荐直接在命令行里直接用-pPASSWORD的方式登录,而是使用-p选项,然后交互式输入密码
[root@dzc ~]# mysql -uroot -p -h127.0.0.1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.23 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
//不进入数据库执行sql语句
[root@dzc ~]# mysql -uroot -p -h 127.0.0.1 -e 'SHOW DATABASES;'
Enter password:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| dzc |
+--------------------+
评论区