mysql的安装以及客户端的使用
1.数据库的分类
-
关系型数据库:
MySQL/mariadb
oracle (内存数据库)
mongodb
sqlite
MSSQL (图形化数据库) -
缓存数据库:
memcache
redis
2 数据库的结构模型
数据库结构模型主要有:
层次模型
网状结构
关系模型
关系模型又可分为:二维关系:row(行)、column(列)
数据库管理系统:DBMS
关系: Relational DataBase Management RDBMS
RDBMS专业名词
SQL:结构化查询语句(Structure Query Language)
约束:向数据表提供的数据要遵守的限制(constraint)
-
主键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。且必须提供数据,不能为空。只能存在一个表
-
唯一键约束:一个或多个字段的组合,填入的数据必须能在本表唯一标识本行。允许为空。可以存在多个表
-
外键约束:一个表中的某个字段可填入数据取决于另一个表的主键已有的数据
-
检查性约束
2.1关系型数据库的常见组件
- 数据库:database
- 表:table,有行(row)和列组成(column)
- 索引:index
- 视图:view
- 用户:user
- 权限:privilege
- 存储过程:procedure
- 存储函数:function
- 触发器:trigger
- 事件调度器:event scheduler
2.2 SQL语句
SQL语句的三种类型:
- DDL: 数据定义语言 主要作用于数据库
- DML:数据操纵语言 主要作用于表
- DCL:数据控制语言 主要作用于对表和数据库的权限
SQL语句类型 | 作用 |
---|---|
DDL | CREATE:创建、DROP:删除、ALTER:修改 |
DML | INSERT:在表中插入数据、DELETE:删除表中数据、UPDATE:更新表中数据、SELECT:查询表的数据 |
DCL | GRANT:授权、REVOKE:移除授权 |
3. 安装MYSQL
[root@node1 ~]# yum -y install mariadb mariadb-server
[root@node1 ~]# 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.
3.1设置数据库密码
MariaDB [(none)]> set password = password('zw123');
Query OK, 0 rows affected (0.000 sec)
3.2 mysql的程序组成
- 客户端
MySQL:CLI交互式客户端程序
MySQL_secure_installation:安全初始化
MySQLdump:MySQL的备份工具
MySQLadmin - 服务端:
mysqld
3.3 数据库客户端工具的使用
3.3.1 查看数据库的版本
[root@node1 ~]# mysql -V
mysql Ver 15.1 Distrib 10.3.17-MariaDB, for Linux (x86_64) using readline 5.1
3.3.2 登录数据库
[root@node1 ~]# mysql -uroot -p -h127.0.0.1 -P3306 -e 'SHOW DATABASES';
Enter password:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
-u是指定用户名,-p是用户的密码,这里建议是,-p时不输入会回车之后再输入密码这样可以保证数据库的安全性。
- h 是指定服务器的主机这里默认为localhost也可以写IP地址
- P 是只当数据库监听的端口号
- e是不进入数据库执行SQL语句
3.3.3 服务监听的两种socket地址
socket类型 | 说明 |
---|---|
IP socket | 默认监听在tcp的3306端口,支持远程通信 |
unix sock | 监听在sock文件上(/tmp/mysql.sock, /var/lib/mysql/mysql.sock、server地址只能是:localhost,127.0.0.1 |