MySQL-ubuntu环境下安装配置mysql

文章目录

  • 什么是数据库?
  • 一、ubuntu环境下安装mysql
  • 二、配置mysql配置文件
    • 1.先登上root账号
    • 2.配置文件的修改
      • show engines \G;
  • mysql和mysqld
  • 数据库的基础操作
    • 登录mysql
    • 创建数据库
    • 显示当前数据库
    • 使用数据库
    • 创建表
    • 插入students表数据
    • 打印students表数据
    • `select * from students;` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d2acea1c34064d7fb7a826164bc38358.png)


什么是数据库?

数据库本质上来讲其实就是一种存储数据的方式。可是为什么需要数据库来存储管理数据? 我们学过Linux操作系统,存储数据我们可以使用磁盘文件,而对于打开的文件我们的OS也有对应的数据结构来进行管理,那为什么我们还需要数据库呢?

这是因为OS对于文件内容的管理对于用户来讲,并不是那么的方便。我们如果要对文件中的内容来进行大量的增删查改操作,就需要我们上层的二次编码来进行操作。而数据库就很好的为用户解决了这一问题,它能更有效的管理数据。数据
库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。


提示:以下是本篇文章正文内容,下面案例可供参考

一、ubuntu环境下安装mysql

  1. 先将用户切换为root用户,以下安装配置都需要用到超级管理员权限来进行。
    su -

  2. 先检查当前主机是否已经下载了mysql或者mariadb
    dpkg -l | grep mysql-server
    dpkg -l | grep mariadb

如果有返回结果,那么就是已经下载安装了。

  1. 卸载曾经的mysql或mariadb环境
    apt remove mysql-server
    apt remove mariadb

  2. 下载安装mysql
    apt install -y mysql-server

  3. 查看安装并启动mysql服务
    对于安装的不同版本,有些mysql版本在下载安装时就已经默认开启了服务。有些则需要手动打开服务。
    查看是否打开mysql服务
    systemctl status mysql

在这里插入图片描述

打开mysql服务
systemctl start mysql or systemctl start mysqld

有些老版本需要启动的是mysqld。


输入命令
ps axj | grep mysql
在这里插入图片描述

如果看到有/usr/bin/mysqld进程也可以说明mysqld服务启动成功。

二、配置mysql配置文件

1.先登上root账号

由于刚安装好mysql,默认只会有一个账户,并且这个账户是root的。

所以我们先输入mysql -u root -p 登录root的账户。
这个时候要求你输入密码。 由于mysql版本不同大家这里可能会出现两种的情况。

  1. 较高版本的mysql,这里root密码直接就没有,直接输入回车就可以登录上root账户。
  2. 需要输入root的密码,但是因为这个密码我们怎么知道?

solution 1
#获取临时root密码
sudo grep 'temporary password' /var/log/mysqld.lo

2021-04-12T03:23:46.153263Z 1 [Note] A temporary password is generated for root@localhost:yLMalT:v+5l*

通过复制这个临时密码来进行登录root账户。

solution 2
#更改配置文件
vim /etc/my.cnf
在最后添加 skip-grant-tables()
在这里插入图片描述
然后重启mysql服务systemctl restart mysqld


至于如何更改账号密码,我们以后再讲。

2.配置文件的修改

不同版本的配置文件路径可能有不同。
vim /etc/my.cnf or vim /etc/mysql/my.cnf

在[mysqld]中添加
character-set-server=utf8 #使用utf-8编码格式
default-storage-engine=innodb #使用innodb存储引擎

然后重启mysql服务systemctl restart mysqld

show engines \G;

查看mysql支持的引擎。

mysql和mysqld

之前我们就学过客户端与服务端。在这里,mysql其实是客户端,mysqld是服务端(d代表daemon守护进程)。我们通常是使用mysql客户端来对mysqld中的数据库来进行访问数据。

当我们使用ps axj | grep mysql时,我们是可以看到mysqld是一直在启动着的。
当我们使用mysql -u root -p登录上mysql客户端后,再使用ps axj | grep mysql就可以看到
在这里插入图片描述
在这里插入图片描述

数据库的基础操作

登录mysql

mysql -u root -p

创建数据库

create database helloworld 创建名为helloworld的数据库。

显示当前数据库

show databases;
在这里插入图片描述

这就是当前所拥有的数据库。

cd /var/lib/mysql进入该路径之后,我们可以观察到一些细节。
在这里插入图片描述
我们创建数据库其实就是创建了一个文件夹?

使用数据库

use helloworld; 使用数据库。
其实这个可以理解为是进入了helloworld数据库对应的文件夹。

创建表

首先要先使用use [databasename];
然后才可以创建表。
create table students(
id int,
name varchar(32),
age int,
gender varchar(2)
);

当我们进入cd /var/lib/mysql/helloworld
在这里插入图片描述
可以看到有一个students.idb的文件。

插入students表数据

insert into students (id, name, age, gender) values (1, '张三', 18, '男');
insert into students (id, name, age, gender) values (2, '李四', 19, '男');

打印students表数据

select * from students;
在这里插入图片描述

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

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

相关文章

AcWing 671. DDD

给定一个整数,请根据下表确定并输出其对应的城市名称: 如果输入数字不在上表中,则输出 DDD nao cadastrado。 输入格式 共一行,包含一个整数。 输出格式 输出对应城市名称,如果没有对应城市名称,则输出…

postman macOS版安装包

链接: https://pan.baidu.com/s/1Y7j4mxB1Otmf3Ku41e7v7w?pwdfy99 提取码: fy99 安装后的效果

闲置服务器废物利用_离线下载_私人影院_个人博客_私人云笔记_文件服务器

背景 家里有台旧windows笔记本,PentiumB940 2.00GHz的cpu 4G内存,512G硬盘 放在家里吃灰很久,最近几个月折腾折腾,装了linux操作系统,换了一个2T的硬盘 这里记录下折腾的过程,有需要的可以参考 开通公网IP 打电话给运营商一般都可…

throw 和throws的区别详解

1. 用法上的区别 throw: 作用:throw是一个关键字,用于在方法体内部抛出一个具体的异常对象。当程序执行到throw语句时,会立即停止当前方法的执行,并将控制权交给该方法的调用者,同时传递异常对象。使用位置…

PyTorch DataLoader 学习

1. DataLoader的核心概念 DataLoader是PyTorch中一个重要的类,用于将数据集(dataset)和数据加载器(sampler)结合起来,以实现批量数据加载和处理。它可以高效地处理数据加载、多线程加载、批处理和数据增强…

udp协议模拟远程输入指令控制xshell

不了解udp协议的可以先看一下udp协议下的socket函数_udp socket函数-CSDN博客 我之前还写过模拟实现xshell的模拟实现简单的shell-CSDN博客 如今我们要模拟的是让别人连网络连到我们主机,他可以执行命令: 1.接口 我们之前是用execl系列的函数来实现的…

第三方登录、任意用户登录漏洞总结

目录 1. 第三方昵称为XSS名称 2. 分享接口存在xss漏洞 3. 退出第三方账号仍可以登入 4. 第三方登录绑定漏洞利用(账号接管) 5. 泄漏token接口,任意账号登录 6. jwt未验参/弱密钥 7. cookie可伪造 8. 凭证过早返回 9. 逻辑漏洞导致的任意用户登录 9.1 登录完全依赖数…

IEEE(常用)参考文献引用格式详解 | LaTeX参考文献规范(IEEE Trans、Conf、Arxiv)

IEEE参考文献引用格式注意事项 期刊已正式出版(有期卷号)录用后在线访问即Early access(无期卷号) Arxiv论文会议论文IEEE缩写进阶其他 IEEE论文投稿前的参考文献格式检查!(如果一些细节你采用别的形式&…

香橙派AIpro:体验强劲算力,运行ROS系统

文章目录 前言一、香橙派AIpro开箱及功能介绍1.1香橙派AIpro开箱1.2香橙派AIpro功能介绍 二、香橙派AIpro资料下载及环境搭建2.1资料下载2.2环境搭建2.3使用串口启动进入开发板2.4使用HDMI线接入屏幕启动 三、部署ROS系统四、香橙派AIpro的使用和体验感受 前言 本篇文章将带体…

映射器代理工厂

我们在使用Mybatis时,只需要写Mapper和Dao接口就行,使用的时候只需要调用Dao中的方法就能完成数据的增删改查。那么Dao中的方法是谁实现的呢?难道Mybatis自动帮我们写了一个Dao的实现类吗?非也!而是使用了映射器代理工…

在 SwiftUI 中实战使用 MapKit API

文章目录 前言新 MapKit API 的引入控制初始地图位置相机位置的双向绑定总结 前言 SwiftUI 与 MapKit 的集成在今年发生了重大变化。在之前的 SwiftUI 版本中,我们将 MKMapView 的基本功能封装到名为 Map 的 SwiftUI 视图中。幸运的是,事情发生了变化&a…

ontape备份跨服务器还原的样例

1. 查看实例备份参数文件 [gbasedbtiZ2ze5s78e4tanwe5q2znxZ ~]$ onstat -g dis Your evaluation license will expire on 2025-05-26 00:00:00 On-Line -- Up 00:00:15 -- 266536 Kbytes There are 1 servers found Server : node1 Server Number : 1 Server Type :…

虚拟环境操作

1、对虚拟环境的操作 查看虚拟环境列表 conda env list 创建虚拟环境 conda create -n 虚拟环境名称 python3.x 激活虚拟环境 conda activate 虚拟环境名称 退出虚拟环境 conda deactivate 删除虚拟环境 conda remove -n 虚拟环境名称 all 2、对虚拟环境下的包的操作…

力扣题解(分割回文串II)

132. 分割回文串 II 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。 返回符合要求的 最少分割次数 思路: 规定dp[i]是以i位置为最后一个元素,(0-i)的最少分割次数,此…

硅谷并购中的牙刷测试

注:机翻,未校对。 In Silicon Valley, Mergers Must Meet the Toothbrush Test By David Gelles August 17, 2014 9:22 pm Credit Liz Grauman/The New York Times MOUNTAIN VIEW, Calif. — When deciding whether Google should spend millions or …

DP讨论——简单工厂模式

学而时习之,温故而知新。 敌人出招(使用场景) 不同的业务场景下要创建不同的对象,但是这些对象又有共同的特点。如何复用代码呢?你会想到,这些对象可以抽象出一个基类/抽象类就行了,那么随着业…

docker安装nginx并配置https

参考 docker安装nginx并配置https-腾讯云开发者社区-腾讯云 (tencent.com) 证书的生成 参见:SpringBoot项目配置HTTPS接口的安全访问(openssl配置)_配置接口访问-CSDN博客 步骤 1: 拉取Nginx镜像 docker pull nginx 好使的镜像如下&#x…

【AI】目标检测算法【R-CNN:Regions with CNN features】

1. 常用目标检测算法介绍 目标检测是计算机视觉领域的一个重要分支,它旨在识别并定位图像中的各种对象。以下是一些流行的目标检测算法: 1.1 二阶段目标检测算法 R-CNN (Regions with CNN features): 通过选择性搜索算法选取候选区域,然后…

vue3-vite-pinia模板

模板说明 下载 git clone https://github.com/AIxiaoHanBao/vue-template.gitmodule参数 node版本 16 UI组件库 element-plus 持久化 pinia 网络请求 axios 路由 vue-router 使用说明 权限管理目录access资源目录assets组件目录components页面目录pages网络请求目录re…

【AI原理解析】—对抗学习(AL)原理

目录 一、基本原理 二、核心模型 三、对抗性损失函数 四、训练过程 五、对抗学习的优势 六、对抗学习的挑战与解决方案 七、对抗学习的应用 八、未来展望 一、基本原理 对抗学习的核心思想是通过两个模型的相互对抗,使得生成模型(Generator&…