Ubuntu22部署MySQL5.7详细教程

Ubuntu22部署MySQL5.7详细教程

默认情况下,Ubuntu22安装MySQL的版本为8.0。但8.0更加严格的加密规则,使得一些配置难以实现,下面就来为大家介绍在ubuntu22中怎么安装MySQL5.7.x。

一、下载MySQL安装包

以MySQL5.7.29为例,进入MySQL官方的Community Server选择历史版本:https://downloads.mysql.com/archives/community/

可以使用wget命令下载,或直接点击Download下载。然后将tar包放在Ubuntu的一个目录中。

使用wget命令下载tar包

bash 复制代码
sudo wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.29-1ubuntu18.04_amd64.deb-bundle.tar

解压tar包

bash 复制代码
sudo tar -xvf mysql-server_5.7.29-1ubuntu18.04_amd64.deb-bundle.tar

解压后目录

二、安装MySQL

更新依赖源数据

bash 复制代码
sudo apt-get update

安装依赖lib包

bash 复制代码
sudo apt-get install ./libmysql*
sudo apt-get install libtinfo5

安装客户端和服务端,按提示可能要先安装community版本

bash 复制代码
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 

第三行命令执行时会提示设置MySQL的密码,用户名默认root

三、启动MySQL

检查状态

一般安装成功就自动启动,输入命令检查启动状态,绿色的active表示运行中

bash 复制代码
systemctl status mysql.service

登录MySQL

使用root用户登录MySQL

bash 复制代码
mysql -u root -p

输入密码后,如下界面就是进入MySQL命令行

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

四、开启远程访问功能

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

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

bash 复制代码
use mysql;
select User,Host from user;

默认情况下 mysql 只接受本地访问 ,需要执行 mysql 语句授权外网用户访问。例如下面的数据就表示只能用本地主机通过root用户访问数据库。为了让数据库支持远程主机访问,有两种方法可以开启远程访问功能。

(1)第一种(改表法):
修改host字段的值,将localhost修改成需要远程连接数据库的ip地址,或者直接修改成%,使所有主机都可以通过root用户访问数据库。

以下是将user为root对应的host字段直接修改成%的命令:

bash 复制代码
update user set host = '%' where user = 'root';

输入命令使修改生效

bash 复制代码
flush privileges; 

再次查看user表, 修改成功。
第二种(授权法):

例如,你想root使用mypassword从任何主机连接到mysql服务器的话。

bash 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

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

bash 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 
'mypassword' WITH GRANT OPTION;

输入命令使修改生效

bash 复制代码
flush privileges; 

这两种方法选择一种即可,接下来配置允许其他IP访问

2、修改配置文件,允许其他IP通过自定义端口访问

现在需要配置服务器的接口,从而使服务器能够侦听远程可访问的接口。默认情况下,绑定地址为"127.0.0.1"。

修改位于/etc/mysql/mysql.conf.d/mysqld.cnf 的配置文件,将bind-address=127.0.0.1修改成0.0.0.0,并添加 port = 开放的具体端口号,默认端口号为3306 ,即可实现开放外网访问和自定义端口的目的。

bash 复制代码
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

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

重启mysql服务

bash 复制代码
systemctl restart mysql

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

五、使用Navicat连接数据库

Navicat是一个广泛使用的数据库管理工具,可用于管理多种数据库系统,如MySQL、MariaDB、Oracle等。

使用ifconfig查看服务器ip地址,使用Navicat与数据库建立连接。

至此 mysql的安装已全部完成 如果有部署在云服务器上的经过上列操作无法访问的话 记得查看后台防火墙端口是否开启

参考资料:
Ubuntu22.04安装低版本MySQL5.7
Ubuntu安装mysql5.7(适用于大多数ubuntu版本)
Ubuntu 安装和使用MySQL
使用 MySQL APT 存储库的快速指南(官方)
Ubuntu22 安装 mysql5.7 过程记录
MySQL 异常: "Host 'xxx' is not allowed to connect to this MySQL server"

相关推荐
许彰午6 小时前
28-ORA-01110数据文件读取错误
数据库·oracle
凯凯姜6 小时前
MySQL 联合索引设计与索引失效
数据库·mysql
猫咪很可爱7 小时前
Oracle TEMP 表空间不足(ORA-01652)问题分析与优化实践
数据库·oracle
木子欢儿7 小时前
openconnect Linux客户端安装 以及开机自启和登录
linux·运维·服务器
..Dauntless..7 小时前
【Linux】文件系统(一)
linux·运维·服务器
九零HTTP8 小时前
10月21号-CSDN配菜-IP池的5个坑
服务器·数据库·tcp/ip
程序员-King.8 小时前
【ROS1】Noetic 开发工作流程与常用命令
c++·ubuntu·ros
Data-Miner8 小时前
需要做财务数据分析,有什么好用的工具?从准备到出报告的实操指南
大数据·数据库·数据分析
袋鼠云数栈9 小时前
让 SQL 解析不再重复造轮子:SqlParserX 正式开源
数据库·人工智能·sql·开源·数据治理
这个DBA有点耶9 小时前
期货 CTP 系统 Oracle RAC 迁移国产库实战:读写分离架构设计与性能对标
数据库·架构·dba