Ubuntu离线安装 MySQL 5.7

一、所需环境

操作系统:Ubuntu 20.04

数据库:MySQL 5.7.34

网络情况:内网服务器,无法访问互联网资源

二、提前下载所需以来及安装包

1、所需依赖包

bash 复制代码
(1)libmecab2 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mecab/libmecab2_0.996-1.2ubuntu1_amd64.deb
(2)libaio1 
http://archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.110-2_amd64.deb
(3)libtinfo5 
http://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.2-0ubuntu2_amd64.deb

2、下载MySQL安装包

演示所用版本:

bash 复制代码
https://cdn.mysql.com/archives/mysql-5.7/mysql-server_5.7.34-1ubuntu18.04_amd64.deb-bundle.tar

大家可以去官网下载自己需要的版本:
https://downloads.mysql.com/archives/community/

三、安装依赖,以及安装MySQL

1、将下载的依赖以及安装包上传到自己指定的文件夹(演示用/opt)

2、安装依赖包

bash 复制代码
sudo dpkg -i libmecab2_0.996-1.2ubuntu1_amd64.deb
sudo dpkg -i libaio1_0.3.110-2_amd64.deb
sudo dpkg -i libtinfo5_6.2-0ubuntu2_amd64.deb

3、安装MySQL

(1)解压安装包

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

解压后目录如下:

(2)安装MySQL

bash 复制代码
sudo dpkg -i mysql-common_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg-preconfigure mysql-community-server_5.7.34-1ubuntu18.04_amd64.deb    //此步需要输入数据的root密码
sudo dpkg -i libmysqlclient20_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i libmysqld-dev_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-client_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-client_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-common_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-server_5.7.34-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-server_5.7.34-1ubuntu18.04_amd64.deb

(3)验证MySQL的安装是否成功:

mysql -u root -p //输入密码

查看mysql状态:

bash 复制代码
sudo systemctl status mysql.service

四、MySQL配置

1、开启MySQL远程访问

(1)修改mysqld.cnf配置文件

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

打开文件后将下面一行注释

#bind-address = 127.0.0.1(修改后)

(2)执行以下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.0.1,如要开启所有的,用%代替IP):

bash 复制代码
grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;

然后再输入下面两行命令

bash 复制代码
flush privileges; 

exit;

2、防火墙开打开端口

bash 复制代码
1、查看防火墙状态,inactive是关闭,active是开启。
sudo ufw status
 
2、开启防火墙。
sudo ufw enable
 
3、关闭防火墙。
sudo ufw disable
 
4、开启3306端口访问
sudo ufw allow 3306/tcp

注意:UFW防火墙开发 3306端口,UFW处于 Status: inactive 时(sudo ufw status verbose),可以不执行上面操作命令

五、配置文件参考

bash 复制代码
# Copyright (c) 2014, 2021, Oracle and/or its affiliates.
# ......
# ......
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
 
[mysqld]
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
datadir		= /var/lib/mysql
log-error	= /var/log/mysql/error.log
default_storage_engine = InnoDB
performance_schema_max_table_instances = 400
table_definition_cache = 400
skip-external-locking
key_buffer_size = 1024M
max_allowed_packet = 100G
table_open_cache = 4096
sort_buffer_size = 16M
net_buffer_length = 4K
read_buffer_size = 16M
read_rnd_buffer_size = 256K
myisam_sort_buffer_size = 256M
thread_cache_size = 512
query_cache_size = 512M
tmp_table_size = 512M
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 
explicit_defaults_for_timestamp = true
skip-name-resolve
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
 
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
expire_logs_days = 10
#slow_query_log=1
long_query_time=3
#log_queries_not_using_indexes=on
early-plugin-load = ""
 
innodb_data_home_dir = /var/lib/mysql
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql
innodb_buffer_pool_size = 4096M
innodb_log_file_size = 2048M
innodb_log_buffer_size = 512M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 40
innodb_write_io_threads = 40
 
[mysqldump]
quick
max_allowed_packet = 500M
 
[mysql]
no-auto-rehash
 
[myisamchk]
key_buffer_size = 1024M
sort_buffer_size = 16M
read_buffer = 2M
write_buffer = 2M
 
[mysqlhotcopy]
interactive-timeout
 
# By default we only accept connections from localhost
# bind-address	= 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

修改mysql配置文件

/etc/mysql/mysql.conf.d/mysqld.cnf

bash 复制代码
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
相关推荐
Mico181 小时前
MySQL 8.0.35 基于GTID 主从复制安装增强半同步复制
android·mysql·adb
一叶龙洲1 小时前
ubuntu26.04 xfce美化成mac
服务器·ubuntu·macos
CodexDave12 小时前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
一叶龙洲13 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker15 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
王琦031815 小时前
生产环境中使用通用二进制包安装
mysql
keyipatience16 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
观山岳五楼17 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
辰痕~18 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu
蓝田~18 小时前
MySQL慢查询怎么优化?B+Tree索引原理+MVCC读不阻塞写+EXPLAIN执行计划,从5秒到0.05秒
数据库·mysql