技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页MySQL>正文
Linux系统安装部署 MySQL-5.7.44版本
2025年06月13日 MySQL 暂无评论 ⁄ 被围观 36次+

操作系统:AnolisOS-8.10

mysql版本:mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

准备篇

1、关闭SELINUX

#AnolisOS-8.10默认是关闭的,可以不用操作

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

2、开启防火墙

系统默认使用的是firewall作为防火墙,这里改为iptables防火墙。

开启mysql默认端口3306

2.1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

systemctl mask firewalld

systemctl stop firewalld

yum remove firewalld

2.2、安装iptables防火墙

yum install iptables-services #安装

vi /etc/sysconfig/iptables #编辑防火墙配置文件

# sample configuration for iptables service

# you can edit this manually or use system-config-firewall

# please do not ask us to add additional ports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

/usr/libexec/iptables/iptables.init restart #重启防火墙

安装篇

1、下载安装包

1.1下载mysql:https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

1.2下载mysql依赖包(初始化mysql数据库、进入mysql控制台需要)

1.2.1rpm包安装

#下载地址

https://mirrors.openanolis.cn/anolis/8.10/BaseOS/x86_64/os/Packages/libaio-0.3.112-1.0.1.an8.x86_64.rpm

https://mirrors.openanolis.cn/anolis/8.10/BaseOS/x86_64/os/Packages/libaio-devel-0.3.112-1.0.1.an8.x86_64.rpm

https://mirrors.openanolis.cn/anolis/8.10/BaseOS/x86_64/os/Packages/ncurses-compat-libs-6.1-10.20180224.0.1.an8.x86_64.rpm

#安装

rpm -ivh libaio-0.3.112-1.0.1.an8.x86_64.rpm

rpm -ivh libaio-devel-0.3.112-1.0.1.an8.x86_64.rpm

rpm -ivh ncurses-compat-libs-6.1-10.20180224.0.1.an8.x86_64.rpm

1.2.2yum源安装

yum install tar telnet

yum install libaio-devel

yum install libncurses*

2、安装mysql

2.1创建mysql运行用户和组

groupadd mysql

useradd -g mysql mysql -s /bin/false

2.2创建mysql安装目录和mysql数据库存放目录

mkdir -p /data/server/mysql #mysql安装目录

mkdir -p /data/server/mysql/data #mysql数据库存放目录

#设置目录权限

chown -R mysql:mysql /data/server/mysql

chown -R mysql:mysql /data/server/mysql/data

2.3安装mysql

#解压二进制版本mysql安装包到安装目录

cd /usr/local/src/

tar zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /data/server/mysql --strip-components 1

2.4设置my.cnf配置文件

vi /data/server/mysql/my.cnf #编辑添加

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

# *** default location during install, and will be replaced if you

# *** upgrade to a newer version of MySQL.

[client]

port = 3306

socket=/data/server/mysql/data/mysql.sock

[mysql]

port = 3306

socket = /data/server/mysql/data/mysql.sock

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

# These are commonly set, remove the # and set as required.

user=mysql

port = 3306

basedir = /data/server/mysql

datadir = /data/server/mysql/data

socket = /data/server/mysql/data/mysql.sock

pid-file= /data/server/mysql/data/mysql.pid

server_id = 1

character-set-server = utf8mb4

default-storage-engine = InnoDB

tmpdir = /tmp

max_connections = 1000

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

default_authentication_plugin=mysql_native_password

explicit_defaults_for_timestamp=true

[mysqld_safe]

log-error = /data/server/mysql/data/error.log

:wq! #保存退出

2.5添加mysql系统环境变量

vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行

export PATH=$PATH:/data/server/mysql/bin

:wq! #保存退出

source /etc/profile #使配置立即生效

2.6初始化mysql数据库

/data/server/mysql/bin/mysqld --defaults-file=/data/server/mysql/my.cnf --user=mysql --initialize-insecure --basedir=/data/server/mysql --datadir=/data/server/mysql/data --socket=/data/server/mysql/data/mysql.sock --pid-file=/data/server/mysql/data/mysql.pid

2.7启动mysql数据库

/data/server/mysql/bin/mysqld_safe --defaults-file=/data/server/mysql/my.cnf --user=mysql --port=3306 --basedir=/data/server/mysql --datadir=/data/server/mysql/data --socket=/data/server/mysql/data/mysql.sock --pid-file=/data/server/mysql/data/mysql.pid &

2.8添加软连接

ln -s /data/server/mysql/data/mysql.sock /tmp/mysql.sock

2.9设置MySQL管理员root密码,根据提示设置密码

/data/server/mysql/bin/mysql_secure_installation --socket=/data/server/mysql/data/mysql.sock

y使用密码验证插件

选择密码规则(一般选择第二项:1 = MEDIUM)

LOW Length >= 8 #长度大于等于8

MEDIUM Length >= 8, numeric, mixed case, and special characters #长度大于等于8,数字、大小写字母、特殊符号

STRONG Length >= 8, numeric, mixed case, special characters and dictionary file #长度大于等于8,数字、大小写字母、特殊符号和字典文件(慎选!)

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

设置新密码:12345678Abc++

y删除匿名用户

y禁止root远程登录

y删除测试数据库

y重新加载权限表

2.10关闭mysql数据库

/data/server/mysql/bin/mysqladmin -uroot -S /data/server/mysql/data/mysql.sock shutdown -p

#根据提示输入上面设置的密码即可关闭数据库

2.11设置mysql启动脚本

cp /data/server/mysql/support-files/mysql.server /data/server/mysql/mysql.sh

vi /data/server/mysql/mysql.sh #编辑修改

basedir=/data/server/mysql #MySQL程序安装路径

datadir=/data/server/mysql/data #MySQl数据库存放目录

conf=/data/server/mysql/my.cnf #mysql配置文件my.cnf路径

:wq! #保存退出

#添加执行权限

chmod +x /data/server/mysql/mysql.sh

#添加开机启动

vi /etc/rc.d/rc.local

/bin/sh /data/server/mysql/mysql.sh start

:wq! #保存退出

#默认/etc/rc.local没有执行权限,需要手动添加执行权限

chmod +x /etc/rc.d/rc.local

sh /data/server/mysql/mysql.sh start #启动mysql

3、配置mysql

3.1创建mysql数据库和用户

#创建数据库和用户

数据库名:testdb

数据库用户名:testuser

数据库密码:12345678Abc++

进入mysql控制台

/data/server/mysql/bin/mysql -uroot -p -S /data/server/mysql/data/mysql.sock

Create DATABASE IF NOT EXISTS testdb default charset utf8mb4 COLLATE utf8mb4_general_ci; #创建数据库testdb

GRANT ALL PRIVILEGES ON testdb.* TO testuser@'192.168.21.%' IDENTIFIED BY '12345678Abc++' WITH GRANT OPTION; #创建用户testuser并授权

flush privileges; #刷新系统授权表

#创建管理员

GRANT ALL PRIVILEGES ON *.* TO admin@'127.0.0.1' IDENTIFIED BY '12345678Abc++' WITH GRANT OPTION; #创建mysql数据库管理员admin并授权

GRANT ALL PRIVILEGES ON *.* TO admin@'localhost' IDENTIFIED BY '12345678Abc++' WITH GRANT OPTION; #创建mysql数据库管理员admin并授权

flush privileges; #刷新系统授权表

exit; #退出控制台

3.2导出数据库

#导出数据库testdb到/tmp/testdb.sql

/data/server/mysql/bin/mysqldump -u root -p --default-character-set=utf8mb4 --opt -Q -R --skip-lock-tables testdb > /tmp/testdb.sql

备注:在导出之前可以先进入MySQL控制台执行下面命令

flush tables with read lock; #数据库只读锁定命令,防止导出数据库的时候有数据写入

unlock tables; #解除锁定

3.3导入数据库

进入mysql控制台

/data/server/mysql/bin/mysql -uroot -p -S /data/server/mysql/data/mysql.sock

use testdb #进入数据库

source /tmp/testdb.sql #导入备份文件到数据库

exit; #退出控制台

至此,Linux系统安装部署 MySQL-5.7.44版本完成。

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2025 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接
陕ICP备11001040号-3