mysql数据库内网二进制通用包安装部署(redhat)

1、什么是二进制包

二进制包是mysql官方编译后的安装包,类似于windows中的安装文件,广泛应用在生产环境和内网环境中,并且在不同的linux环境下都可以使用。

2、二进制包获取

下载地址:https://dev.mysql.com/downloads/
历史版本下载地址:(常用5.6版本) : https://downloads.mysql.com/archives/community/

在这里插入图片描述

mysql官网提供了不同版本的下载,我们常用的是社区版本

下载步骤:根据需要的版本下载通用包,现在以最新版为例

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

3、配置

二进制包不需要进行编译,只需要检查环境配置,以及添加一些配置,用来启动登录mysql

3.1、环境准备

(1)检查系统中是否已安装mysql或者mariadb

	如果linux系统中已经安装过mysql或者mariadb,则需要删除,避免与新安装版本冲突
#基于rhel版本的Linux:
rpm -qa | grep -i mariadb 
rpm -qa | grep -i mysql
#如果存在,使用下面命令删除
rpm -e <name>   #上面命令查询到的名称
#如果依赖报错加后面加 --nodeps
rpm -e <name> --nodeps

#基于Ubuntu的linux(两个都可以)
dpkg -l | grep mariadb
apt list --installed | grep mysql
#如果存在,使用下面命令删除
apt remove <name> #上面命令查询到的名称
dpkg --remove <name> 

(2)检查系统中是否有存在的配置文件

ll | grep /etc/*.cnf  #一般情况下名字为my.cnf

注:如果存在则删除,一般情况下卸载应用后不会自动删除配置文件

3.2、安装包配置

(1)解压

#可以在linux下新建个mysql目录,将文件在此目录下解压
tar -xvf mysql-8.4.0-linux-glibc2.28-x86_64.tar.xz

(2)软连接

#将你的mysql安装目录连接到usr/local下(一般情况下linux外部服务放置在此目录下,也可以自己创建)
ln -sv /INSTALL/mysql /usr/local/mysql

(3)创建data和tmp文件夹

mkdir data tmp  
#data是数据文件存放位置
#tmp 是临时文件存放路径
#注:两者可以不创建,我习惯创建,易于后期管理,一般默认在/var/lib路径下

(4)mysql安装包文件介绍

[root@localhost mysql]# ll
总用量 300
drwxr-xr-x.  2 mysql mysql   4096  5月 31 14:33 bin
drwxr-xr-x.  7 mysql mysql   4096  6月  3 14:18 data
drwxr-xr-x.  2 mysql mysql     38  4月 10 16:28 docs
drwxr-xr-x.  3 mysql mysql   4096  4月 10 16:28 include
drwxr-xr-x.  6 mysql mysql   4096  4月 10 16:28 lib
-rw-r--r--.  1 mysql mysql 282183  4月 10 14:26 LICENSE
drwxr-xr-x.  4 mysql mysql     30  4月 10 16:28 man
-rw-r--r--.  1 mysql mysql    666  4月 10 14:26 README
drwxr-xr-x. 28 mysql mysql   4096  4月 10 16:28 share
drwxr-xr-x.  2 mysql mysql     77  5月 31 14:54 support-files
drwxr-xr-x.  2 mysql mysql      6  5月 31 14:29 tmp
README:说明手册
LICENSE:许可信息手册
/bin:存放一些可执行文件,主要包含客户端和服务端的启动程序,如mysqld、mysql等:
	1.mysqld:代表MySQL服务器程序,运行这个可执行文件可以直接启动一个服务器进程,但此命令不常用
	2.mysqld_safe:MySQL的启动脚本,会间接调用mysqld,同时还启动了另一个监控进程,服务器意外终止时可帮助重启。此外,mysqld_safe启动服务器	   进程时,会将服务器
	3.mysql.server:也是一个启动脚本,会间接调用mysqld_safe。可以在调用时指定start或stop参数启动或停止MySQL服务器程序。
	4.mysqld_multi:使用单一配置文件统一管理多个MySQL实例(一台服务器开启多个端口运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务
/docs:存放一些文档
/include:用于放置一些头文件,如mysql.h、mysqld_error.h等
/lib:存放一些类库文件
/share:包含MySQL的共享文件,如字符集文件和错误信息文件
/support-files:存放一些启动脚本,如mysql.server、mysql_multi.server等
/man -- mysql 手册信息

注:在安装包解压到Linux中时,mysql就可以启动了,在/bin,或者/support-files中的mysqld,mysql.server等脚本可以直接启动Linux服务,但是mysql需要在my.cnf进行一些基本的配置,并且现在无法使用系统命令启动mysql,只能在mysql的二进制包目录下才能使用一些命令,并且mysql没有初始化,不能进行登录使用

(5)创建mysql组和用户
创建一个专门的组和用户来登录mysql时为了减少了潜在的安全风险,并且与其他应用隔离

groupadd -r -g 306 mysql 
useradd -g 306 -r -u 306 mysql # -r是创建伪用户不能登录系统

#可以直接使用下面命令
group mysql
useradd -g mysql mysql

####授权
改变mysql目录下所有文件的组和用户
chown -R mysql.mysql mysql

(6)配置环境变量

vi /etc/profile
#在文件最后追加下面两行
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$HOME/bin:$MYSQL_HOME/bin
source /etc/profile
#作用是简化命令操作,避免重复输入长路径,在每个路径下都可以使用mysql服务的命令

(7)配置my.cnf文件

[mysqld]

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
tmpdir=/usr/local/mysql/tmp
user=mysql
port=3306
socket=/usr/local/mysql/data/mysql.sock
log_error=/usr/local/mysql/data/mysqld.err

[client]
socket=/usr/local/mysql/data/mysql.sock

my.cnf 是 MySQL 的配置文件,它用于配置 MySQL 服务器的各种参数和选项。通过编辑 my.cnf 文件,你可以自定义 MySQL 的行为,包括设置数据目录、临时目录、端口号、字符集、缓冲池大小、日志设置等等。一般放在/etc路径下

my.cnf 文件包含了大量的参数配置,下面列举了一些常见的参数及其功能说明。请注意,这里列出的并不是全部参数,而是一些常见和重要的参数,具体的参数配置可以根据实际需求进行调整。
[mysqld] 区域参数:
	datadir:MySQL 数据文件存储的路径。
	tmpdir:MySQL 临时文件存储的路径。
	port:MySQL 服务器监听的端口号。
	bind-address:MySQL 服务器绑定的 IP 地址。
	character-set-server:MySQL 服务器的默认字符集。
	collation-server:MySQL 服务器的默认校对规则。
	max_connections:MySQL 服务器允许的最大连接数。
	innodb_buffer_pool_size:InnoDB 缓冲池的大小。
	log_error:错误日志文件的路径。
	slow_query_log:是否启用慢查询日志记录。
	innodb_file_per_table:是否为每个 InnoDB 表使用单独的文件。
	query_cache_type:查询缓存的工作方式。
	
[mysql] 区域参数:
	default-character-set:默认的客户端字符集。
	pager:客户端使用的分页程序。

[client] 区域参数:
	port:MySQL 客户端连接的默认端口号。
	socket:MySQL 客户端连接时使用的套接字文件路径。
	default-character-set:默认的客户端字符集。

[mysqldump] 区域参数:
	quick:是否使用快速模式导出数据。
	max_allowed_packet:允许的最大数据包大小。

其他常见参数:
	skip-networking:禁用网络连接,只允许本地连接。
	skip-name-resolve:禁用 DNS 解析,提高连接速度。
	innodb_flush_log_at_trx_commit:InnoDB 引擎的日志刷新策略。
	innodb_log_file_size:InnoDB 日志文件的大小。
	innodb_log_buffer_size:InnoDB 日志缓冲区的大小。
	max_allowed_packet:允许的最大数据包大小。
以上是一些常见的 my.cnf 参数配置,你可以根据具体需求和环境进行调整。在修改配置文件之前,务必备份原始文件,并谨慎调整各个参数的值。

(8)添加服务到系统服务中(可以使用systemd或者service中,使用系统命令启动mysql)

########基于Ubuntu的linux系统(或者是老版的rhel8以下)#######
将support-files目录中将mysql.server复制到/etc/init.d中的mysqld中,创建初始化进程,并且加到服务中

cp support-files/mysql.server /etc/init.d/mysqld
sudo update-rc.d   mysqld defaults

#######基于rhel的linux系统##########
vim /etc/systemd/system/mysql.service #(创建systemd服务配置文件)
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network-online.target
After=syslog.target
#############
[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql

Type=notify

# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0

# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS

# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql

# Sets open_files_limit
LimitNOFILE = 65536

Restart=on-failure

RestartPreventExitStatus=1

# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

PrivateTmp=false
systemctl daemon-reload

(9)mysql初始化(可以在前面执行)

# ubuntu
初始化mysql(还是在mysql目录下,添加--datadir=/mydata/data/)
scripts/mysql_install_db --user=mysql --datadir=/use/local/mysql/data
#rhel
mysqld --defaults-file=/etc/my.cnf  --initialize 
#或
mysql_secure_installation
#注:初始化的时候需要记住初始的密码,否则需要通过在mysql/bin目录下的mysql_safe脚本启动,然后重启服务
mysqld_safe --skip-grant-tables&
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';     

4、用户登录

启动实例

#注,如果mysql用户是伪用户使用下面命令,否则在mysql用户下加sudo
#rhel
systemctl start mysql
systemctl status mysql

#ubuntu
service mysqld start
service mysqld resatrt
service mysqld status

登录

mysql -uroot -p
  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值