【MySQL】Ubuntu环境下MySQL的安装与卸载

news/2024/10/5 17:15:09 标签: mysql, centos, 数据库

目录

1.MYSQL的安装 

2.MySQL的登录 

3.MYSQL的卸载

4.设置配置文件


1.MYSQL的安装 

首先我们要看看我们环境里面有没有已经安装好的MySQL

我们发现是默认是没有的。

我们还可以通过下面这个命令来确认有没有mysql的安装包

首先我们得知道我们当前的系统版本是什么

lsb_release -a

我们在找apt源的时候,一定要找比这个版本新的或者一样版本的

我们去官方的apt源立马找:MySQL :: 下载 MySQL APT 存储库

我们选择第一个下载即可。

 下载好了把它拖到桌面来

我们然后使用rz命令将下载好的apt源放到当前目录里面。

接下来我们就需要安装了!我们使用rpm命令来安装我们的yum源

sudo dpkg -i mysql-apt-config_0.8.32-1_all.deb

执行了上面那个命令就会进入下面这个 

上面那个是选择什么版本的mysql,我选择默认的版本,按enter后进入下面这个界面 

这个就类似于再次确认你选择的版本!我们选择OK即可

可以看到一瞬间就安装好了!

apt-get update

 然后我们执行

sudo apt-get install mysql-server

执行过程中会出现下面这个,这个就是要输入root用户的密码和确认密码,可以输入类似123456的简单密码

然后会出现下面这个

我们直接选择第一个。代表强密码加密,然后回车,然后会遇到下面这个,我们直接按enter即可

到这里算是安装完成了。

我们查看一下MYSQL的状态来

systemctl status mysql

很好。在运行了 

netstat -nltp

我们看到3306端口也在运行了,这个其实是MYSQL专门的服务端口的。这也表示MySQL是一种网络服务。

  • 开启MYSQL的自启动

sudo systemctl enable mysql 

我们可以看看有没有设置成功

systemctl list-unit-files | grep mysql

很好,看第一行就知道已经设置成功了

2.MySQL的登录 

  • 登录Mysql
mysql -uroot -p

注意这里需要输入我们安装时设置的root密码——123456,登陆后的情况如下

我们输入一个指令看看

很好已经确认安装成功了

我们可以输入\h来寻求帮助

3.MYSQL的卸载

如果说你安装错版本了,那你可以输入下面这些

  • 卸载
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
  • 重新安装

sudo dpkg-reconfigure mysql-apt-config
sudo apt-get update
sudo apt-get install mysql-server

重新安装时会出现下面这个

比如说我这里不想要8.4,我们就只需要按上图红色

我们选择8.0即可,然后按enter进入下图,然后选择OK即可

我们之前弄来的那个安装包也就没有任何意义了,可以删掉了!

4.设置配置文件

mysql的 编码方式和我们预想的可能不一样,所以我们需要来设置好一些配置文件来。

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
  • 注意一定要加sudo,要不然没有权限修改配置文件

上面这个就是mysql的配置文件!

  • 配置免密码登录MySQL

我们在配置文件里面加入下面这一行

skip-grant-tables

 

我们保存退出,然后试着登录一下

mysql -uroot -p

我们发现还是要输入密码

事实上,这是因为我们的MySQL一直处于运行状态,没有收到配置文件更新的提醒,所以我们需要重新启动一下MySQL

sudo service mysql restart

注意:这里它叫我们输入密码的时候,我们直接按Enter即可!

  • 注意

mysql开启 skip-grant-tables 后,MySQL 有时会在启动过程中跳过某些与网络相关的配置,所以导致不会正确绑定到监听的端口

在下面我们使用netstat -nltp时就无法检测到3306端口号(MYSQL专属端口号)的状态

所以要谨慎配置

接下来我们继续修改我们的配置文件,我们加入下面这3行

port=3306
character-set-server=utf8
default-storage-engine=innodb

 这段配置信息是用于设置数据库服务器(如MySQL)的一些基本参数的。下面是对这些参数的解释:

  1. port=3306:这个参数设置了数据库服务器监听的端口号为3306。默认情况下,MySQL服务器监听的是3306端口。如果这里被更改为3333,这意味着客户端需要连接到3333端口才能与数据库服务器进行通信。
  2. character-set-server=utf8:这个参数设置了服务器默认使用的字符集为UTF-8。字符集决定了数据库中存储的文本数据的编码方式。UTF-8是一种广泛使用的编码方式,支持多种语言的字符,是国际化应用中的常用选择。
  3. default-storage-engine=innodb:这个参数指定了数据库服务器的默认存储引擎为InnoDB。存储引擎是数据库底层用于存储、处理和检索数据的软件组件。InnoDB是MySQL的默认存储引擎之一,它提供了事务支持、行级锁定和外键等高级数据库功能,适用于大多数应用场景。

简而言之,这段配置信息将数据库服务器的监听端口设置为3306,默认字符集设置为UTF-8,默认存储引擎设置为InnoDB。这些设置有助于优化数据库的性能和兼容性,特别是在需要处理多语言数据和事务性操作时。

保存退出之后,我们重启MySQL

sudo service mysql restart

这样子,我们就算配置好了


http://www.niftyadmin.cn/n/5691083.html

相关文章

蓝桥等级考试C++组17级真题-2023-05-21

单项选择题 **1、CL17(15分)**选择题 关于面向对象,以下说法正确的是( ) A. C语言是面向对象的语言 B. C语言只支持面向对象的程序设计 C. C语言是面向对象的语言,但C语言不是 D. C语言中的类和int、char等类型一样,都是基本数据类型 2、CL1…

MySQL表操作(进阶)

一、数据库约束 1、约束类型 NOT NULL - 指示某列不能存储 NULL 值 UNIQUE - 保证某列的每行必须有唯一的值 DEFAULT - 规定没有给列赋值时的默认值 PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标 识&#xff…

C初阶(十二)do - while循环 --- 致敬革命烈士

大家国庆看阅兵仪式和天安门升旗仪式了吗?岁月安好,只因有人负重前行。 ————山那边是什么 ————是烈士的英魄 ————是他们拼死保卫的新中国 ————河那边是什么 ————是绵延的战火 ————她望着远方泪一滴滴的落 ————和平来了 ——…

创建Vue项目的时出现:无法加载文件 E:\software\node\node_global\vue.ps1,因为在此系统上禁止运行脚本

创建Vue项目的时出现的问题:出现:无法加载文件 E:\software\node\node_global\vue.ps1,因为在此系统上禁止运行脚本 解决方法: .PowerShelll的执行政策阻止了该操作,用 get-ExecutionPolicy 查看执行策略的状态为受限 输入Set-ExecutionPo…

【现代控制理论】第2-5章课后题刷题笔记

文章目录 第二章:线性控制系统的状态空间描述第三章:控制系统状态空间描述的特性3.1 计算状态转移矩阵(矩阵指数函数)3.2 计算系统的时间响应(状态方程的解)3.3 判断系统的能控性和能观性,以及能…

Flink从ck拉起任务脚本

#!/bin/bashAPP_NAME"orderTest"CHECKPOINT_BASE_PATH"hdfs:///jobs/flink/checkpoints/aaa-test/"is_running$(yarn application -list | grep -w "$APP_NAME" | grep -c "RUNNING")if [ $is_running -gt 0 ]; thenecho "应用程…

【RabbitMQ】RabbitMQ学习

1. 发送流程 生产者 - connection - channel - 交换机 - 对列- channel - connection - 消费者 2. 工作模式 2.1. 简单模式(点对点) 一个消费者一个生产者,直接进行通信。 2.2. 工作对列模式 多个消费者共同消费消息对列中的消息。同一条…

[uni-app]小兔鲜-07订单+支付

订单模块 基本信息渲染 import type { OrderState } from /services/constants import type { AddressItem } from ./address import type { PageParams } from /types/global/** 获取预付订单 返回信息 */ export type OrderPreResult {/** 商品集合 [ 商品信息 ] */goods: …