【MySQL】MySQL在Linux中的环境安装与基本使用

news2024/11/28 12:36:35


目录

一、MySQL环境的安装

1、MySQL环境安装

2、安装MySQL出现的问题

3、登录MySQl

3.1方案一

3.2方案二 

4、修改MySQL配置文件

5、可选设置:开机自启动MySQL(云服务器没事一般不会关机)

二、MySQL数据库基础

1、一些概念

2、基本使用

2.1显示当前 MySQL 实例中所有的数据库列表

2.2创建数据库

2.3使用数据库

2.4创建数据库表 

2.5在表中插入数据

2.6在表中查询数据 

3、SQL的分类 

4、存储引擎


一、MySQL环境的安装

1、MySQL环境安装

#打印当前机器的Linux版本
[root@VM-4-11-centos ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
#在官网下载和Linux版本对应的rpm包
http://repo.mysql.com/
#安装rpm包
rpm -ivh mysql57-community-release-el7.rpm
#查看Linux的yum源是否被安装好
[root@VM-4-11-centos MySQL]# ls /etc/yum.repos.d/ -l
total 24
-rw-r--r-- 1 root root 1838 Apr 27  2017 mysql-community.repo
-rw-r--r-- 1 root root 1885 Apr 27  2017 mysql-community-source.repo
#使用yum安装mysql
yum install -y mysql-community-server
#查看MySQL是否安装成功
[root@VM-4-11-centos MySQL]# ls /etc/my.cnf #查看MySQL配置文件是否存在
/etc/my.cnf
[root@VM-4-11-centos MySQL]# which mysqld #查看MySQL服务端是否存在
/sbin/mysqld
[root@VM-4-11-centos MySQL]# which mysql #查看MySQL客户端是否存在
/bin/mysql
#启动MySQL服务器
systemctl start mysqld

2、安装MySQL出现的问题

安装遇到秘钥过期的问题:
Failing package is: mysql-community-common-5.7.42-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决⽅案:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

3、登录MySQl

3.1方案一

#获取临时密码
[root@VM-4-11-centos MySQL]# sudo grep 'temporary password' /var/log/mysqld.log
2023-06-07T02:58:34.085200Z 1 [Note] A temporary password is generated for root@localhost: kQs***7OrS_M
#使用临时密码登录
[root@VM-4-11-centos MySQL]# mysql -h 127.0.0.1 -P 3306 -u root -p
Enter password: 
#退出MySQl
\q
  • -h:指定要连接的 MySQL 数据库所在的主机名或 IP 地址。在这里,127.0.0.1 表示要连接的主机为本地主机,即连接本机上的 MySQL 数据库。不指明-h,默认连上本地服务器搭建的MySQL。
  • -P:指定要连接的 MySQL 数据库所在的端口号。在这里,3306 表示 MySQL 数据库的默认端口号。不指明-P,默认使用配置文件指明的端口号连接MySQL。
  • -u:指定要连接 MySQL 数据库的用户名。在这里,root 表示使用 root 用户名连接 MySQL 数据库。
  • -p:表示连接 MySQL 数据库时需要输入密码。在这里,-p 后面没有指定密码,所以会提示输入密码。

当你输入完整的命令后,按下回车键,会提示输入密码,输入正确的密码后,就可以连接到 MySQL 数据库了。

3.2方案二 

#打开MySQl配置文件
vim /etc/my.cnf
#尾行加入此句
skip-grant-tables
#重启MySQl服务
systemctl restart mysqld
#直接登录
mysql -uroot

4、修改MySQL配置文件

#vim打开配置文件
vim /etc/my.cnf
#新增如下字段
port=3306
character-set-server=utf8
default-storage-engine=innodb
#重启MySQl服务,生效配置
systemctl restart mysqld

5、可选设置:开机自启动MySQL(云服务器没事一般不会关机)

#开启开机自启动
systemctl enable mysqld
systemctl daemon-reload

二、MySQL数据库基础

1、一些概念

MySQL本质是基于C(mysql)S(mysqld)模式的一种网络服务。

mysqld:它是数据库的服务器端(这是一个守护进程)

mysql:它是数据库的客户端

数据库是在磁盘或内存中存储的结构化数据文件。

数据库服务:mysqld

2、基本使用

2.1显示当前 MySQL 实例中所有的数据库列表

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.02 sec)

数据库存放于/var/lib/mysql目录下。

2.2创建数据库

mysql> create database helloworld;
Query OK, 1 row affected (0.00 sec)

创建数据库,本质上就是在创建Linux下创建一个目录

2.3使用数据库

mysql> use helloworld;
Database changed

2.4创建数据库表 

mysql> create table students(
    -> name varchar(32),
    -> age int,
    -> gender varchar(2)
    -> );
Query OK, 0 rows affected (0.26 sec)

在数据库中建立表,本质上就是在Linux中创建对应的文件

2.5在表中插入数据

mysql> insert into students (name, age, gender) values ('张三',22,'男');
Query OK, 1 row affected (0.05 sec)

2.6在表中查询数据 

mysql> select* from students;
+--------+------+--------+
| name   | age  | gender |
+--------+------+--------+
| 张三   |   22 | 男     |
| 王五   |   23 | 女     |
| 王五   |   23 | 女     |
+--------+------+--------+
3 rows in set (0.01 sec)

3、SQL的分类 

DDL【data definition language】:数据定义语言,用来维护存储数据的结构

代表指令: create, drop, alter

DML【data manipulation language】:数据操纵语言,用来对数据进行操作

代表指令: insert,delete,update

DML中又单独分了一个DQL:数据查询语言,代表指令: select

DCL【Data Control Language】:数据控制语言,主要负责权限管理和事务

代表指令: grant,revoke,commit

4、存储引擎

        存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

MySQL的核心就是插件式存储引擎,支持多种存储引擎。

#查看MySQL的存储引擎
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/628655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java中进制转换的两种方法你知道吗?

目录 十进制转其他进制 其他进制转十进制 实战: A进制转B进制 关于大数运算可以参考躲不掉的高精度计算,蓝桥杯必考_高精度算法在哪些比赛考_无忧#的博客-CSDN博客 十进制转其他进制 使用 Integer.toString(int n,int radix) 方法,该方法…

【LeetCode】739. 每日温度

739. 每日温度(中等) 思路 我们可以维持一个单调递减的栈,表示每天的温度;为了方便计算天数差,这里存放位置(下标),而非温度本身。因为温度可以通过访问数组下标获取。 从左向右遍历…

书接上文,基于藏文手写数字数据开发构建yolov5n轻量级藏文手写数字检测识别系统

在上一篇文章中:《python基于轻量级CNN模型开发构建手写藏文数字识别系统》 开发实现了轻量级的藏文手写数字识别系统,这里主要是想基于前文的数据,整合目标检测模型来进一步挖掘藏文手写数字数据集的可玩性,基于yolov5n开发构建…

Android kotlin序列化之@Parcelize详解与使用

一、介绍 在Android开发过程中,序列化使用概率一直很高。在页面之间传递的对象,需要要使用序列化,常见的序列化:Parcelable、Serialization。 由于Parcelable在传递压缩比高,效率高,一直被Google官方推荐。…

可调电阻器

1、可调电阻(Trimming Potentiometer,Variable Resistor) 1.1、电气特性(Electrical Characteristics) ItemSpec ExampleDescriptionTotal Resistance(TR),总和阻抗200K端子1和3之间…

独立按键检测短按、长按,松手后响应操作

背景 有项目使用独立按键检测,短按、长按。根据使用效果,发现松手后,也就是按键弹起后响应操作比较好操作。 记得之前,博主写过一篇关于按键的检测的文章,但是过于复杂了。可能很难懂,这里就简单一点&…

Flask学习-环境配置

目录 一.环境部署 二.Flask基本结构 三.完整代码 四.运行效果 一.环境部署 在安装好python,pip环境的基础上在命令行输入如下指令: pip install flask flask框架即安装完毕。 二.Flask基本结构 flask的使用通过创建实例实现。创建方法如下&…

ArgoCD(五)----ArgoCD 各CRD资源配置文件规范

3.4.1 Application资源规范 Application CRD的spec字段主要嵌套如下几个字段: source :配置仓库及相关的配置访问及使用方法;支持如下几种类型: kubernetets的原生配置文件Helm chartkustomize:由kustomize字段进行定义…

软件测试实战,支付二维码测试-测试点汇总,全面覆盖...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 面试的时候&#…

递归——先递后归——平衡二叉树

目录 1.什么是递归 (1)问问无所不能的chatgpt。 ​(2)我的理解 2.递归的应用之——树 (1)二叉树的录入与打印 (2)举个例子:将有序的数组转化为平衡二叉树 1.什么是递…

ffmpeg中的avs解码器综述

最近拿了一个avs的视频流,用硬件可以解码,但是ffmpeg自带的却无法解码。 所以研究了一下,首先看ffmpeg的avs解码器: 可以看到avs有两个,第一个是avs 第二个是cavs. 我们先用avs来解码,解码的视频是通过【a…

浅谈医院能耗监控平台研究与应用

摘要:综合性医院作为大型公共机构,能耗高的问题日益突出,构建能耗监控平台对医院能耗量化管理以及效果评估已经成为迫切需要。建立智能能耗监控平台,对采集的能耗数据进行分析,实现对医院能耗平台监控,为医…

java并发编程:Fork/Join并发框架介绍

文章目录 Fork/Join简介工作窃取算法Fork/Join的具体实现ForkJoinTaskfork()方法join()方法 ForkJoinPoolWorkQueuerunState Fork/Join的异常处理Fork/Join的使用 Fork/Join简介 Fork/Join框架是一个实现了ExecutorService接口的多线程处理器,它专为那些可以通过递…

java的内部类

1.内部类的概念 内部类表示的事物是外部类的一部分,内部类单独出现没有任何意义。如发动机是汽车的一部分。 内部类的访问特点: (1)内部类可以直接访问外部类的成员,包括私有; (2)外…

11.无监督学习之主成分分析

11.1 降维 降维的两种应用:一是数据压缩;二是可视化数据。 11.1.1 数据压缩 将相关性强的两个特征导致冗余,可以直接去掉其中一个特征,或者将两个特征进行某种转换,得到一个特征。 11.1.2 可视化数据 直接看数据可…

设计模式:提升软件设计质量的利器,适合入门者的指南

目录 导言:设计模式的概念常见的设计模式2.1. 单例模式(Singleton Pattern)2.2. 工厂模式(Factory Pattern)2.3. 观察者模式(Observer Pattern)2.4. 策略模式(Strategy Pattern&…

OpenGL 摄像机

1.简介 OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉,而不是场景在移动。 要定义一个摄像机,我们需要它在世界空间中的位置、观察的方向…

Java 实现在顺序表中获取 pos 元素的位置

一、思路 1.顺序表不能是空的 2.pos位置要合法 3.直接返回当前的pos位置的下标 二、图解 返回的要是当前 pos 位置的下标,因为下标是没有负数的,由此就可以得出如果下标是负数的话, 这就是一种不合法的情况。 pos 位置的下标也不会超过顺序…

星空特效,截图不太完美

先上效果&#xff1a; 再上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>星空</title><meta name"viewport" content"widthdevice-width, user-scalable…

【立体视觉(三)】之张正友标定法原理

【立体视觉&#xff08;三&#xff09;】之张正友标定法原理 一、相机标定二、参数求解一&#xff09;闭合解二&#xff09;极大似然解三&#xff09;考虑相机畸变 三、实验流程 此为个人学习笔记&#xff0c;在各处借鉴了不少好图好文&#xff08;参考文献在文末&#xff09;&…