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包

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

解压tar包

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

解压后目录

二、安装MySQL

更新依赖源数据

复制代码
sudo apt-get update

安装依赖lib包

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

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

复制代码
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表示运行中

复制代码
systemctl status mysql.service

登录MySQL

使用root用户登录MySQL

复制代码
mysql -u root -p

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

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

四、开启远程访问功能

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

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

复制代码
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.1.3的主机连接到mysql服务器,并使用mypassword作为密码:

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

输入命令使修改生效

复制代码
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 ,即可实现开放外网访问和自定义端口的目的。

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

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

重启mysql服务

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

相关推荐
风往哪边走17 分钟前
创建自定义语音录制View
android·前端
用户20187928316717 分钟前
事件分发之“官僚主义”?或“绕圈”的艺术
android
用户20187928316718 分钟前
Android事件分发为何喜欢“兜圈子”?不做个“敞亮人”!
android
Kapaseker2 小时前
你一定会喜欢的 Compose 形变动画
android
QuZhengRong3 小时前
【数据库】Navicat 导入 Excel 数据乱码问题的解决方法
android·数据库·excel
zhangphil4 小时前
Android Coil3视频封面抽取封面帧存Disk缓存,Kotlin(2)
android·kotlin
程序员码歌10 小时前
【零代码AI编程实战】AI灯塔导航-总结篇
android·前端·后端
书弋江山11 小时前
flutter 跨平台编码库 protobuf 工具使用
android·flutter
来来走走14 小时前
Flutter开发 webview_flutter的基本使用
android·flutter
CtrlCV 攻城狮14 小时前
如何在Windows/Linux系统上安装adb
adb