Linux(Ubuntu)下MySQL5.7的安装

文章目录

  • 1.看系统本身有没有MySQL
  • 2.安装MySQL
  • 3.登录MySQL
  • 4.修改配置文件my.cnf/mysqld.cnf
  • 5.开启远程访问功能
    • 5.1 允许其他主机通过root访问数据库
    • 5.2 Ubuntu下配置文件修改说明


1.看系统本身有没有MySQL

mariadb也是mysql所以要先检查一下系统有没有MySQL
我这台机子是新机子,所以没有不用卸载
在这里插入图片描述
如果电脑上有mysql的话,就和下面一样
在这里插入图片描述
我们需要先切换为root

systemctl stop mysqld 停止mysql
rpm -qa | grep mysql  查找mysql的安装包
然后卸载掉查找到的安装包即可

ls /etc/my.cnf     查看配置文件还在不在,卸载不会卸载这个
ls /var/lib/mysql/   查看残留文件

2.安装MySQL

一次按以下命令:
这些命令执行时可能有一些奇怪的警告,不用管,继续执行下一条!

sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.29-1ubuntu18.04_amd64.deb-bundle.tar
sudo tar -xvf mysql-server_5.7.29-1ubuntu18.04_amd64.deb-bundle.tar
sudo apt-get update
sudo apt-get install ./libmysql*
sudo apt-get install libtinfo5
sudo apt-get install ./mysql-community-client_5.7.29-1ubuntu18.04_amd64.deb
sudo apt-get install ./mysql-client_5.7.29-1ubuntu18.04_amd64.deb
sudo apt-get install ./mysql-community-server_5.7.29-1ubuntu18.04_amd64.deb
sudo apt-get install ./mysql-server_5.7.29-1ubuntu18.04_amd64.deb 

执行sudo apt-get install ./mysql-community-server_5.7.29-1ubuntu18.04_amd64.deb时会弹出:提示设置MySQL的密码,用户名默认root
在这里插入图片描述

systemctl status mysql.service//启动

在这里插入图片描述
在这里插入图片描述

3.登录MySQL

由于刚开始还没有学MySQL的一些命令,所以无法进行用户管理操作。
我们能先登陆上去就行!

方法一(不行就下一个):MySQL5.7以前的版本可支持:

#获取临时root密码
[用户]$ sudo grep 'temporary password' /var/log/mysqld.log
2021-04-12T03:23:46.153263Z 1 [Note] A temporary password is generated for
root@localhost: yLMalT:v+5l*
#使⽤临时密码登录
[用户]$ mysql -uroot -p
Enter password:

#判断修改密码时候新密码是否符合当前的策略,不满⾜报错,不让修改,关闭它
#安全强度,默认为中,即1,要求必须包含 数字、符号、⼤⼩写字⺟,⻓度⾄少为8位
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
#密码最⼩⻓度
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
#修改本地登录密码,暂不授权远程登录
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'qwer@wu.888';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
#如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码

方法二(不行就下一个):

# 如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码
# 试着直接client登陆⼀下
 mysql -uroot -p
回车

大概率还是不行
在这里插入图片描述

方法三:
密码就是前面这里我们设置的密码!
在这里插入图片描述

在这里插入图片描述
9bea.png)

此时mysql安装完成了,但是不能为我们的程序提供服务(使用连接工具现在是连接不上的)。 因为还需要配置远程连接,使我们可以远程登录才可以。

4.修改配置文件my.cnf/mysqld.cnf

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf 打开配置文件

这里

character-set-server=utf8   #不设置这个打不了中文
default-storage-engine=innodb  #引擎用的最多的就是innodb

在这里插入图片描述
修改过后重启即可

systemctl restart mysql

5.开启远程访问功能

5.1 允许其他主机通过root访问数据库

进入mysql库,查看user表。 表中host、user字段标识了可以访问数据库的主机和用户。

mysql -u root -p
输入密码
use mysql;
select User,Host from user;

默认情况下 mysql 只接受本地访问,需要执行 mysql 语句授权外网用户访问。例如下面的数据就表示只能用本地主机通过root用户访问数据库。为了让数据库支持远程主机访问,有两种方法可以开启远程访问功能。
在这里插入图片描述
(1)第一种(改表法):
修改host字段的值,将localhost修改成需要远程连接数据库的ip地址,或者直接修改成%,使所有主机都可以通过root用户访问数据库。
以下是将user为root对应的host字段直接修改成%的命令:

update user set host = '%' where user = 'root';

输入命令使修改生效

flush privileges; 

之后再次查看user表,修改成功!
在这里插入图片描述
第二种(授权法):
例如,你想root使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.111.23的主机连接到mysql服务器,并使用mypassword作为密码:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.111.23' IDENTIFIED BY 
'mypassword' WITH GRANT OPTION;

输入命令使修改生效

flush privileges; 

这两种方法选择一种即可!

5.2 Ubuntu下配置文件修改说明

现在需要配置服务器的接口,从而使服务器能够侦听远程可访问的接口。默认情况下,绑定地址为“127.0.0.1”。
修改位于/etc/mysql/mysql.conf.d/mysqld.cnf 的配置文件,将bind-address=127.0.0.1修改成0.0.0.0,并添加 port = 开放的具体端口号,默认端口号为3306 ,即可实现开放外网访问和自定义端口的目的。(具体参考上面第四点!)

点击 Esc按键进入命令模式,输入 :wq 保存并退出。
重启mysql服务

systemctl restart mysql

重启成功后,就可以使用连接工具连接了!

Navicat是一个广泛使用的数据库管理工具,可用于管理多种数据库系统,如MySQL、MariaDB、Oracle等。
使用ifconfig查看服务器ip地址,使用Navicat与数据库建立连接。
在这里插入图片描述
至此 mysql的安装已全部完成 如果有部署在云服务器上的经过上列操作无法访问的话 记得查看后台防火墙端口是否开启

本文后半部分参考:
链接: Ubuntu22部署MySQL5.7详细教程

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

接口响应断言

目录 接口断言介绍接口断言方式介绍响应状态码断言 课程目标 掌握什么是接口断言。了解接口断言的多种方式。掌握如何对响应状态码完成断言。 思考 这两段代码是完整的接口自动化测试代码吗? …省略… when().get(“https://httpbin.ceshiren.com/get?namead&…

23. 【Java教程】接口

本小节我们将学习 Java 接口(interface),通过本小节的学习,你将了解到什么是接口、为什么需要接口、如何定义和实现接口,以及接口的特点等内容。最后我们也将对比抽象类和接口的区别。 1. 概念 Java 接口是一系列方法的…

【教程】Linux 安装 kkFileView 文档在线预览项目 及优化

【教程】Linux 安装 kkFileView 文档在线预览项目 官网 kkFileView - 在线文件预览 (keking.cn) 安装包 可以直接下载成品 也可以下载source 源码 自己编译 kkFileView 发行版 - Gitee.com 打开IDEA 然后先clear 再install 然后在 file-online-preview\server\target 目录…

YOLOv10论文解读:实时端到端的目标检测模型

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

Day 56 647. 回文子串 516.最长回文子序列

回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1: 输入:“abc”输出:3解释&#xf…

【LeetCode】【5】最长回文子串

文章目录 [toc]题目描述样例输入输出与解释样例1样例2 提示Python实现动态规划 个人主页:丷从心 系列专栏:LeetCode 刷题指南:LeetCode刷题指南 题目描述 给一个字符串s,找到s中最长的回文子串 样例输入输出与解释 样例1 输入…

概念艺术3D三维虚拟展览系统让更多人一同领略艺术的无穷魅力

经过多年的技术积累,华锐视点3D云展平台为各位提供的网上3D书画展厅,是一个集逼真视觉体验与沉浸式感官享受于一体的线上艺术殿堂。通过先进的Web3D实时渲染技术,打造全景3D立体场景,让您仿佛置身于实体展厅之中,感受那…

美业系统源码美业SaaS系统-门店卡项已线下退款,需要作废怎么处理?

美业SaaS系统源码 连锁门店美业收银系统源码 收银管理 / 会员管理 / 预约管理 / 排班管理 / 商品管理 / 活动促销 PC管理后台、手机APP、iPad APP、微信小程序 1、加盟店卡项线下退款处理方法: 询问具体退款会员手机号和卡项,找到需要退款的订单号。…

Spark中RDD概述及RDD算子详解

一、RDD概述 1、RDD: 弹性的分布式数据集 弹性:RDD 中的数据即可以缓存在内存中, 也可以缓存在磁盘中, 也可以缓存在外部存储中 分布式:数据可以分布在多台服务器中,RDD中的分区来自于block块,而block块会来自不同的datanode 数…

华为数通 HCIP-Datacom(H12-821)题库

最新 HCIP-Datacom(H12-821)完整题库请扫描上方二维码访问,持续更新中。 BGP路由的Update消息中可不包含以下哪些属性? A、Local Preference B、AS Path C、MED D、Origin 答案:AC 解析:as-path和ori…

VMware虚拟机桥接无线网卡上网(WIFI)

一、打开VM点击【编辑】-【虚拟网络编辑器】 二、点击【桥接模式】- 点击【自动设置】- 选择自己的无线网适配器 - 【确定】 三、开机之后会弹出提示连接网络,就能看见网络已经连上了

图片分类模型训练及Web端可视化预测(下)——Web端实现可视化预测

Web端实现可视化预测 基于Flask搭建Web框架,实现HTML登录页面,编写图片上传并预测展示页面。后端实现上一篇文章所训练好的模型,进行前后端交互,选择一张图片,并将预测结果展示到页面上。 文章目录 Web端实现可视化预测…

Apache Flink CDC 3.1.0版本知识学习

Apache Flink CDC 3.1.0版本知识学习 一、Flink CDC 3.1 快速预览二、Transformation 支持三、分库分表合并支持四、使用 Kafka Pipeline Sink 高效写入 Canal/Debezium 格式数据五、更高效地实时入湖 Paimon六、其他改进七、Flink CDC 3.1 版本兼容性 一、Flink CDC 3.1 快速预…

[深入理解DDR5] 2-1 封装与引脚

3500字,依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解DDR》 1 DDR5 颗粒 X4 X8 X16 这里的 X8 or X16, 可以理解为一个DRAM芯片有几个存储阵列。“X几”。进行列寻址时会同时从几个阵列的同一个坐标位置读出数据bit来&a…

博客系统(Servlet实现)

目录 1.准备工作 2.数据库设计 2.1表设计 2.2封装数据库操作代码 2.3创建 Blog 类 和 User 类 2.4创建 BlogDao 类和 UserDao 类 3.读取博客列表功能 3.1约定前后端交互接口 3.2实现服务器代码 3.3实现客户端代码 4.实现博客详情 4.1约定前后端交互接口 4.2实现服…

网站流量统计分析

网站流量统计分析:洞悉用户行为的关键 在当今数字化时代,网站流量统计分析已经成为了企业成功的关键因素之一。通过深入了解用户的行为和偏好,企业可以更好地调整其营销策略、优化用户体验以及提高转化率。本文将探讨网站流量统计分析的重要性…

av_dump_format经验分析,FFmpeg获取媒体文件总时长(FLV获取总时长的误区)

播放器有个功能,当用户打开视频时,需要读取媒体文件的总时长等信息,不巧的时,获取FLV时总失败,下面来具体分析下FLV和MP4获取总时长的原因和区别: 播放器有个获取MediaInfo的接口,功能如下&am…

【面试干货】矩阵对角线元素之和

【面试干货】矩阵对角线元素之和 1、实现思想2、代码实现 💖The Begin💖点点关注,收藏不迷路💖 1、实现思想 创建一个3x3的二维数组来表示输入的矩阵。通过嵌套循环读取输入的矩阵元素,并将其保存到数组中。再次嵌套循…

Linux基础入门和帮助-第二篇

马哥教育 Linux SRE 学习笔记 用户登录信息查看命令 whoami: 显示当前登录有效用户 [rootrocky8 ~]$whoami rootwho: 系统当前所有的登录会话 [rootrocky8 ~]$who root pts/0 2024-05-24 12:55 (10.0.0.1)w: 系统当前所有的登录会话及所做的操作 [rootrocky8 ~]…