ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql基础

2022-04-19 00:32:26  阅读:157  来源: 互联网

标签:rpm 基础 community mysqld mysql root localhost


1. 关系型数据库介绍

1.1 数据结构模型

数据结构模型主要有:

  • 层次模型
  • 网状结构
  • 关系模型

关系模型:
二维关系:row(行),column(列)

数据库管理系统:DBMS
关系:Relational,RDBMS

1.2 RDBMS专业名词

常见的关系型数据库管理系统:

  • MySQL:MySQL,MariaDB,Percona-Server
  • PostgreSQL:简称为pgsql
  • Oracle
  • MSSQL

SQL:Structure Query Language,结构化查询语言

      存放方式:结构化数据                                    数据库里存放的数据二维关系云里存放的数据

                        半结构化数据                                 文本文件里面放的都是文字或者数字

                        非结构化数据                                  文件,视频等

约束:constraint,向数据表提供的数据要遵守的限制

  • 主键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。且必须提供数据,不能为空(NOT NULL)。
    • 一个表只能存在一个
  • 惟一键约束:一个或多个字段的组合,填入的数据必须能在本表中唯一标识本行。允许为空(NULL)
    • 一个表可以存在多个
  • 外键约束:一个表中的某字段可填入数据取决于另一个表的主键已有的数据
  • 检查性约束

索引:将表中的一个或多个字段中的数据复制一份另存,并且这些数据需要按特定次序排序存储

1.3 关系型数据库的常见组件

关系型数据库的常见组件有:

  • 数据库:database
  • 表:table,由行(row)和列(column)组成
  • 索引:index
  • 视图:view
  • 用户:user
  • 权限:privilege
  • 存储过程:procedure
  • 存储函数:function
  • 触发器:trigger
  • 事件调度器:event scheduler

1.4 SQL语句

SQL语句有三种类型:

  • DDL:Data Defination Language,数据定义语言
  • DML:Data Manipulation Language,数据操纵语言
  • DCL:Data Control Language,数据控制语言

 

 

 

SQL语句类型对应操作
DDL CREATE:创建
DROP:删除
ALTER:修改
DML INSERT:向表中插入数据
DELETE:删除表中数据
UPDATE:更新表中数据
SELECT:查询表中数据
DCL GRANT:授权
REVOKE:移除授权

 

2. mysql安装与配置

2.1 mysql安装

mysql安装方式有三种:

  • 源代码:编译安装
  • 二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用
  • 程序包管理器管理的程序包:
    • rpm:有两种
      • OS Vendor:操作系统发行商提供的
      • 项目官方提供的
    • deb
    •  
      配置mysql的yum源
      [root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
      [root@localhost ~]# ls
      anaconda-ks.cfg  mysql57-community-release-el7-10.noarch.rpm  mysql80-community-release-el8-3.noarch.rpm
      [root@localhost ~]# rpm -ivh mysql57-community-release-el7-10.noarch.rpm     安装
      [root@localhost ~]# dnf clean all
      33 文件已删除
      [root@localhost ~]# dnf makecache  建立缓存

      下载mysql的5个软件包并安装

    •  1 [root@localhost ~]# wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-client-5.7.37-1.el7.x86_64.rpm 
       2 http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-common-5.7.37-1.el7.x86_64.rpm      
       3 http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-devel-5.7.37-1.el7.x86_64.rpm 
       4 http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-libs-5.7.37-1.el7.x86_64.rpm 
       5 http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-server-5.7.37-1.el7.x86_64.rpm
       6    下载5个包
       7 [root@localhost ~]# ls
       8 anaconda-ks.cfg                                 mysql-community-common-5.7.37-1.el7.x86_64.rpm  mysql-community-libs-5.7.37-1.el7.x86_64.rpm
       9 mysql-community-client-5.7.37-1.el7.x86_64.rpm  mysql-community-devel-5.7.37-1.el7.x86_64.rpm   mysql-community-server-5.7.37-1.el7.x86_64.rpm
      10 [root@localhost ~]# dnf -y install *.rpm    安装

      2.2 mysql配置

    • 启动
    •  1 [root@localhost ~]# systemctl status mysqld  
       2 [root@localhost ~]# systemctl enable --now mysqld 立马启动
       3 [root@localhost ~]# systemctl status mysqld
       4 ● mysqld.service - MySQL Server
       5    Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
       6    Active: active (running) since Mon 2022-04-18 21:39:24 CST; 1min 14s ago
       7      Docs: man:mysqld(8)
       8            http://dev.mysql.com/doc/refman/en/using-systemd.html
       9   Process: 13448 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
      10   Process: 13398 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
      11  Main PID: 13450 (mysqld)
      12     Tasks: 27 (limit: 11175)
      13    Memory: 284.7M
      14    CGroup: /system.slice/mysqld.service
      15            └─13450 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
      16 
      17 4月 18 21:39:18 localhost.localdomain systemd[1]: Starting MySQL Server...
      18 4月 18 21:39:24 localhost.localdomain systemd[1]: Started MySQL Server.    启动以后端口号默认是3306
      19 [root@localhost ~]# ss -antl
      20 State             Recv-Q            Send-Q                       Local Address:Port                       Peer Address:Port            Process            
      21 LISTEN            0                 128                                0.0.0.0:22                              0.0.0.0:*                                  
      22 LISTEN            0                 128                                   [::]:22                                 [::]:*                                  
      23 LISTEN            0                 80                                       *:3306                                  *:*    

      设置密码

    • 1 [root@localhost ~]# grep 'password' /var/log/mysqld.log 
      2 2022-04-18T13:39:20.651583Z 1 [Note] A temporary password is generated for root@localhost: Cl)*gE<si9G/   把临时密码过滤出来
      3 [root@localhost ~]# mysql -uroot -p'Cl)*gE<si9G/'-u指定用户名-p指定密码不用空格直接跟
      4 mysql> set password = password('RunTime123!');
      5 Query OK, 0 rows affected, 1 warning (0.00 sec)
      6 设置新密码要有大小写,特殊字符,数字
      7 为避免mysql自动升级,这里需要卸载最开始安装的yum源
      8 [root@localhost ~]# rpm -e mysql57-community-release
      9 [root@localhost ~]# re -f /etc/yum.repos.d/mysql-community.repo.rpmsave

      3. mysql的程序组成

      • 客户端
        • mysql:CLI交互式客户端程序
        • mysql_secure_installation:安全初始化,强烈建议安装完以后执行此命令
        • mysqldump:mysql备份工具
        • mysqladmin
      • 服务器端
        • mysqld
        • 3.1 mysql工具使用

        •  1 关闭防火墙
           2 [root@localhost ~]# systemctl disable --now firewalld
           3 Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
           4 Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
           5 [root@localhost ~]# setenforce 0
           6 [root@localhost ~]# vi /etc/selinux/config
           7 [root@localhost ~]# mysql -uroot -p'RunTime123!'
           8 mysql> GRANT all ON *.* TO 'root'@'192.168.149.131' IDENTIFIED BY 'RunTime123!';授权
           9 Query OK, 0 rows affected, 1 warning (0.00 sec)
          10 
          11 mysql> flush privileges;
          12 Query OK, 0 rows affected (0.00 sec)
          13 [root@localhost ~]# mysql -V
          14 mysql  Ver 14.14 Distrib 5.7.37, for Linux (x86_64) using  EditLine wrapper   -V显示版本号
          15 
          16 [root@localhost ~]# mysql -uroot -p'RunTime123!' -e 'SHOW DATABASES;'          
          17 mysql: [Warning] Using a password on the command line interface can be insecure. 
          18 +--------------------+
          19 | Database           |
          20 +--------------------+
          21 | information_schema |
          22 | mysql              |
          23 | performance_schema |
          24 | sys                |
          25 +--------------------+   -e不进入查看数据库

          用Navicat连接数据库

           

           

           

标签:rpm,基础,community,mysqld,mysql,root,localhost
来源: https://www.cnblogs.com/sunyiming023654/p/16160059.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有