首页 > 数据库 >Linux安装MySQL5.7并设置systemd方式管理

Linux安装MySQL5.7并设置systemd方式管理

时间:2024-01-10 16:22:42浏览次数:40  
标签:systemd -- local MySQL5.7 Linux etc usr mysql 安装

1、安装前检查

1)检查linux系统是否安装过mysql

# 检查系统中有无安装过mysql,如果有就卸载
rpm -qa|grep mysql
rpm -e --nodeps mysql-xxxx
# 检查所有mysql对应的文件夹,全部删除
whereis mysql
find / -name mysql
rm -rf ......
# 删除mysql的配置文件
rm -rf /etc/my.cnf
# 删除/etc/init.d/下跟mysql有关的全部文件(mysql,mysqld)
cd /etc/init.d/
ll
rm -rf ......

2)卸载linux系统自带的mariadb

# 检查系统自带的Mariadb,如果有就卸载
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-xxxxxx

 3)检查有无安装过mysql 用户组,没有的话创建

# 检查mysql用户组是否存在
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
[root@localhost /]# userdel mysql
userdel: user 'mysql' does not exis
# 创建mysql用户组和用户
groupadd mysql
useradd -r -g mysql mysql

2、下载安装包

Linux安装mysql一般有四种方式:

1)二进制发布版安装:软件已经针对具体平台编译打包发布,只要解压,修改配置即可;

2)rpm安装:软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题;

*缺点:需要手动先安装,当前安装程序的依赖程序,否则可能会导致安装失败

3)yum安装:一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装安装过程中自动解决库依赖问题;

4)源码编译安装:软件以源码工程的形式发布,需要自己编译打包。

本次使用二进制发布包安装方式安装Mysql5.7。从官网下载安装包,优先选择目录 /usr/local/:

cd /usr/local/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

3、解压mysql安装包

# 解压安装包
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
# 文件夹重命名,保证规范
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql
# 在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data

4、修改mysql目录的下所有的目录及文件夹的用户组和用户的权限

# 将mysql目录的所属用户和组改为mysql
chown -R mysql:mysql /usr/local/mysql
# 更改mysql安装文件夹mysql/的权限,授权的目的是防止读写没有权限
chmod -R 755 /usr/local/mysql

5、编译安装并初始化mysql,务必记住数据库管理员临时密码

cd  /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

6、编写配置文件 my.cnf

创建配置文件 my.cnf:

vi /etc/my.cnf

配置文件内容如下:

[mysqld]
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 设置3306端口
port = 3306
# 服务端使用的字符集utf8
character-set-server = utf8
collation-server = utf8_general_ci
init_connect = 'SET NAMES utf8'
# 创建新表时将使用的默认存储引擎
default-storage-engine = INNODB
# 表名大小写敏感
lower_case_table_names = 0
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 允许最大连接数
max_connections=500

7、直接启动mysql服务

执行完安装与配置后,mysql服务可以直接通过命令启动。

/usr/local/mysql/support-files/mysql.server start

8、登录mysql ,修改初始密码、远程授权等

mysql -u root -p
set password for root@localhost = password('by123456');
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

9、设置systemd服务管理mysql,并设置开机自启动

除了直接启动,也可以将mysql设置为全局服务进行管理。

创建用于Systemd的mysql服务配置文件:

vi /etc/systemd/system/mysql.service

在配置文件内添加以下内容:

[Unit]
Description=MySQL Server
Documentation=https://dev.mysql.com/doc/refman/5.7/en/
[Service]
ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
User=mysql
Group=mysql
Restart=always
RestartSec=3
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target

然后重载系统服务:

systemctl daemon-reload

使用systemd管理mysql的全部命令:

#启动mysql服务
systemctl start mysql.service
#设置开机自启动
systemctl enable mysql.service
#停止开机自启动
systemctl disable mysql.service
#查看服务当前状态
systemctl status mysql.service
#重新启动服务
systemctl restart mysql.service
#查看所有已启动的服务
systemctl list-units --type=service

 10、开启防火墙端口

如果服务器防火墙生效,还需要开放3306端口,以允许远程访问mysql数据库。

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports

标签:systemd,--,local,MySQL5.7,Linux,etc,usr,mysql,安装
From: https://www.cnblogs.com/95-03-13/p/17956753

相关文章

  • v4l2(vedio for linux two)
    //Video设备又分为主设备和从设备对于Camera来说,主设备:CameraHost控制器为主设备,负责图像数据的接收和传输,从设备:从设备为CameraSensor,一般为I2C接口,可通过从设备控制Camera采集图像的行为,如图像的大小、图像的FPS等。//V4L2的主设备号是81,次设备号范围0~255视频设备(次设备......
  • Linux之GDB调试(一)
    一、C++调试准备工作调试代码:#include<iostream>intmain(intargc,char**argv){intiTest=100;constchar*str="thisisatest";std::cout<<"iTestis"<<iTest<<",stris"<<str&l......
  • 在Linux中清理Buff/cache
    在Linux中,缓冲区和缓存是为提高系统性能而保留的,但如果这些缓存过多,可能会消耗大量内存,影响系统的性能。有时候,您可能需要手动清理这些缓存以释放内存。但请注意,通常不建议定期或频繁地这样做,因为这样做可能会对系统性能产生负面影响。以下是清理buff/cache的几种方法:使用......
  • Linux中yum有何作用?主要功能是什么?
    Linux系统中的yum想必大家都听说过,甚至不少运维小伙伴都经常用到这个功能,但不少初学者对它了解的还不是很多,不知道yum是什么,以及它有哪些作用,本文为大家介绍一下,具体请看下文。在Linux中,yum是一个包管理器,用于管理和安装软件包。它是YellowdogUpdater,Modified的缩写,最初......
  • 迅为RK3568开发板Android11/12/Linux编译驱动到内核
    在平时的驱动开发中,经常需要在内核中配置某种功能,为了方便大家开发和学习,本小节讲解如何在内核中添加驱动。具体的讲解原理讲解请参考本手册的驱动教程。Android11源码如果想要修改内核,可以运行以下命令进行修改:cdkernel/makeARCH=arm64rockchip_defconfigmakeARCH=arm64men......
  • Linux ACL 权限的全部内容
    检查是否支持ACLACL需要Linux内核和文件系统的配合才能工作,当前我们能见到的大多数Linux发行版本默认都是支持的。但最好还是能够先检查一下:sudo tune2fs -l /dev/sda1 |grep "Defaultmountoptions:"Default mount options:                 user_xattr......
  • ubuntu安装mysql8,debian安装mysql8,linux安装mysql8,x86_64架构,deb包
    作者主页:https://www.cnblogs.com/milkbox参考:修改大小写:MySQL8.0安装后更改不区分大小写!包你必生效!_mysql8.0不区分大小写-CSDN博客整个安装过程建议在root权限下进行。需要网络来下载相关依赖,如果你的系统已经存在相关以来,那么就可以离线安装。下载与解压去官网下载mys......
  • 在Linux中使用Apache HTTP服务器
    ApacheHTTP服务器,也被称为Apache,是全球使用最广泛的Web服务器软件之一。它以其稳定性、强大的功能和灵活性而闻名,尤其在Linux操作系统上表现得尤为出色。以下是关于如何在Linux中使用ApacheHTTP服务器的详细指南。1.安装Apache首先,你需要安装Apache。在大多数Linux发行版中,可以......
  • 在Linux中处理HTTPS请求
    随着互联网的发展,数据传输的安全性变得越来越重要。HTTPS,全称为安全超文本传输协议(HypertextTransferProtocolSecure),是互联网上应用最广泛的安全传输协议。在Linux系统中处理HTTPS请求,通常涉及到配置Web服务器软件(如Apache或Nginx)来支持SSL/TLS加密。1.安装和配置Web服务器软件......
  • 使用Linux防火墙管理HTTP流量
    在Linux系统中,防火墙是用于控制网络流量的重要工具。通过防火墙,你可以根据需要限制、过滤或允许特定的网络流量,从而提高系统的安全性。在处理HTTP流量时,防火墙可以帮助你实施访问控制、流量监控和其他安全策略。iptablesiptables是Linux中最常用的防火墙工具之一。它允许用户定义一......