基于Centos7的Linux系统-mysql5.7安装和配置(tar.gz与rpm)

本文介绍了Mysql的两种安装方式。tar.gz安装需安装依赖、下载解压包等,还涉及修改配置、初始化、设置环境变量等操作,要注意本地连接限制和大小写敏感问题;RPM安装要按顺序安装多个包,安装后启动、设置开机自启、登陆并修改密码。

tar.gz安装方式

  • 安装依赖
 yum -y install autoconf libaio bison ncurses-devel
  • 创建用户
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
  • 下载安装包
    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
  • 解压安装包
 mkdir -p /soft/server/mysql
 tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /soft/server/
 mv mysql-5.7.21-linux-glibc2.12-x86_64  mysql
 mkdir -p /soft/log/mysql
 mkdir -p /soft/server/mysql/data
  • 授权
chown -R mysql:mysql /soft/server/mysql
chown -R mysql:mysql /soft/log/mysql
  • 修改默认的my.conf
[client]
port = 3306
socket = /soft/server/mysql/mysql.sock
 
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/soft/server/mysql
datadir=/soft/server/mysql/data
socket=/soft/server/mysql/mysql.sock
log-error=/soft/log/mysql/mysqld.log
pid-file=/soft/server/mysql/mysqld.pid
  • 初始化
cd /soft/server/mysql/bin
/soft/server/mysql/bin/mysqld --initialize --user=mysql --basedir=/soft/server/mysql --datadir=/soft/server/mysql/data --lc_messages_dir=/soft/server/mysql/share --lc_messages=en_US
  • 加入systemctl 完成开机自动启动
    vim /lib/systemd/system/mysql.service
[Unit]
Description=mysql
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
ExecStart=/soft/server/mysql/support-files/mysql.server start
ExecReload=/soft/server/mysql/support-files/mysql.server restart
ExecStop=/soft/server/mysql/support-files/mysql.server stop
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
  • 参数解释:
Description:描述服务 
After:			描述服务类别 
[Service]		服务运行参数的设置 
Type=forking	是后台运行的形式 
ExecStart		为服务的具体运行命令 
ExecReload		为重启命令 
ExecStop为		停止命令 
PrivateTmp=True	表示给服务分配独立的临时空间 

注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

  • 设置环境变量
echo 'PATH=$PATH':/sort/server/mysql/bin >> /etc/profile
source /etc/profile
  • 启动
systemctl daemon-reload
systemctl start mysql
systemctl enable mysql
  • 查看密码
cat -n /sort/log/mysql/mysqld.log | grep 'root@localhost'

出现后面就是mysql的初始密码。
mysql -u root -p 初始密码登陆进去后,需要修改初始密码,mysql才可以正常连接。
修改mysql密码为为123456 :ALTER USER USER() IDENTIFIED BY '123456';

  • 修改mysql只能本地连接

当我们使用数据库连接工具连接mysql的时候,发现连接失败!!!but我们在linux上使用命令行可以登陆到mysql数据库,检查了以下防火墙也关闭了,这个原因是mysql开启了只能本地连接的原因。所以要修改mysql默认本地连接的限制,查看可以连接mysql的用户:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

在这里插入图片描述
这里演示给root用户授予权限,其他用户授权方式可以参考一下:以下方式

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'root'@'%';
 flush privileges;

执行后的效果图如下:
在这里插入图片描述
此时内网就可以连接上mysql啦!
此外需要注意 linux环境下的mysql默认大小写敏感的问题,当我们部署好mysql时候,将自己平时研究的代码部署到服务器,连接mysql时候发现报以下错误:

org.springframework.jdbc.BadSqlGrammarException:
Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
Table 'test.T_USER_LOGIN' doesn't exist
The error may exist in class path resource [mybatis/LoginMapper.xml]

发现执行sql时候报了表名不存在,这是由于linux的mysql大小写敏感的原因,所以只需修改/etc/my.cnf 配置文件,加上lower_case_table_names=1 如下图所示:

特别说明:lower_case_table_names参数详解:其中 0:区分大小写,1:不区分大小写。配置好以后只需重启mysql服务即可。

RPM安装方式

最新的mysql5.7版本安装包由于存在更多依赖关系,通常需要以下几个包,具体安装步骤如下,请按照如下顺序按照否则会报依赖的问题。

  1. 安装mysql RPM包
  • mysql-community-common
[root@donniegao packages]# rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm --force --nodeps
warning: mysql-community-common-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]- mysql-community-server 
  • mysql-community-libs
[root@donniegao packages]# rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm --force --nodeps
warning: mysql-community-libs-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-5.7.29-1.el7################################# [100%]``
  • mysql-community-libs-compat
[root@donniegao packages]# rpm -ivh mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm --force --nodeps
warning: mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-compat-5.7.2################################# [100%]
  • mysql-community-client
[root@donniegao packages]# rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm --force --nodeps
warning: mysql-community-client-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-client-5.7.29-1.e################################# [100%]
  • mysql-community-server
[root@donniegao packages]# rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm --force --nodeps
warning: mysql-community-server-5.7.29-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-server-5.7.29-1.e################################# [100%]

安装完毕后查看已经安装好的mysql安装包如下图所示:
在这里插入图片描述

  • 启动mysql
[root@donniegao packages]# systemctl start mysqld

可以通过命令ps -ef | grep mysql查看mysql服务是否已经启动
在这里插入图片描述

  • 设置mysql开机自启动
[root@donniegao packages]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.
  • 登陆mysql
    初次启动会生成随机的mysql密码,可以在/var/log/mysqld.log查看:
[root@donniegao packages]# cat /var/log/mysqld.log | grep 'root@localhost'
2020-01-28T23:44:49.653551Z 1 [Note] A temporary password is generated for root@localhost: j7.iVb=<fkiq
[root@donniegao packages]# mysql -h 127.0.0.1 -P 3306 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.29
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
  • 更改密码
    由于临时密码无法进行大多数操作所以需要进行密码的修改,命令如下所示
mysql> alter user user() identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql>

由于mysql要去密码需满足长度至少为8位,且要至少包含一个数字,一个大写字母,一个小写字母,所以重新修改密码如下所示:
在这里插入图片描述

  • 修改mysql只能本机连接
    参考上面tar.gz安装的解决办法

总结

本节介绍了Mysql的安装配置,下一节将介绍数据库的基本操作☞Mysql数据库命令初识

linux 卸载安装包 ll total 1426564 -rw-r--r-- 1 root root 10645961 Feb 28 2023 apache-tomcat-8.5.87.tar.gz -rw-r--r-- 1 root root 76593282 Nov 20 12:17 docker-compose -rw-r--r-- 1 root root 5610 Nov 18 16:31 dump.rdb -rw-r--r-- 1 root root 185646832 Jul 9 2018 jdk-8u181-linux-x64.tar.gz -rw-r--r-- 1 root root 36942156 Aug 10 2023 minio-20230809233022.0.0.x86_64.rpm -rw-r--r-- 1 root root 556165120 Jun 13 2022 mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar -rw-r--r-- 1 root root 14064 Oct 24 2023 mysql80-community-release-el7-10.noarch.rpm -rw-r--r-- 1 7155 31415 29107248 Jun 13 2022 mysql-community-client-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 7155 31415 318320 Jun 13 2022 mysql-community-common-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 7155 31415 4383060 Jun 13 2022 mysql-community-devel-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 7155 31415 48149356 Jun 13 2022 mysql-community-embedded-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 7155 31415 23316500 Jun 13 2022 mysql-community-embedded-compat-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 7155 31415 133181836 Jun 13 2022 mysql-community-embedded-devel-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 7155 31415 2717964 Jun 13 2022 mysql-community-libs-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 7155 31415 1264480 Jun 13 2022 mysql-community-libs-compat-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 7155 31415 186717812 Jun 13 2022 mysql-community-server-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 7155 31415 126996412 Jun 13 2022 mysql-community-test-5.7.39-1.el7.x86_64.rpm -rw-r--r-- 1 root root 1713990 Jun 27 2020 redis-4.0.2.tar.gz -rw-r--r-- 1 root root 2217666 Jun 27 2020 redis-6.0.5.tar.gz drwxrwxr-x 7 root root 4096 Jan 17 2023 redis-6.2.10 -rw-r--r-- 1 root root 2490833 Jan 17 2023 redis-6.2.10.tar.gz -rw-r--r-- 1 root root 2476542 Oct 4 2021 redis-6.2.6.tar.gz drwxrwxr-x 8 root root 4096 Jul 29 2024 redis-7.4.0 -rw-r--r-- 1 root root 3525325 Jul 29 2024 redis-7.4.0.tar.gz -rw-r--r-- 1 root root 3525325 Jul 29 2024 redis-7.4.0.tar.gz.1 -rw-r--r-- 1 root root 3525325 Jul 29 2024 redis-7.4.0.tar.gz.2 -rw-r--r-- 1 root root 3525325 Jul 29 2024 redis-7.4.0.tar.gz.3 -rw-r--r-- 1 root root 3525325 Jul 29 2024 redis-7.4.0.tar.gz.4 drwxrwxr-x 10 1000 1000 4096 Nov 17 11:52 redis-stable -rw-r--r-- 1 root root 4010900 Nov 2 21:47 redis-stable.tar.gz -rw-r--r-- 1 root root 4010900 Nov 2 21:47 redis-stable.tar.gz.1 -rw-r--r-- 1 root root 4010900 Nov 2 21:47 redis-stable.tar.gz.2
最新发布
11-22
<think> 我们参考用户的问题,用户希望在Linux系统中卸载apache-tomcat、docker-compose、mysql、redis等安装包。 根据引用内容,我们可以总结出Linux下卸载软件包的一般方法: 1. 对于通过包管理器(如rpm、yum、apt)安装的软件,使用对应的卸载命令。 2. 对于通过解压安装的软件(如apache-tomcat),直接删除安装目录即可。 具体到每个软件: **apache-tomcat**: 通常通过解压tar.gz安装,因此卸载就是删除整个安装目录。例如,如果安装在`/usr/local/tomcat`,则执行: ```bash rm -rf /usr/local/tomcat ``` 同时,如果配置了服务,需要停止并删除服务(如果有的话)。 **docker-compose**: 通常通过pip安装或者直接下载二进制文件安装- 如果通过pip安装,则使用pip卸载: ```bash pip uninstall docker-compose ``` - 如果是直接下载的二进制文件,则删除该文件即可。通常安装在`/usr/local/bin/docker-compose`,所以: ```bash rm /usr/local/bin/docker-compose ``` **mysql**: 根据引用的内容,使用rpm卸载的方法(适用于CentOS等): - 先查找已安装mysql包: ```bash rpm -qa | grep -i mysql ``` - 然后逐个卸载,从最下面的包开始(或者使用`--nodeps`忽略依赖强制卸载): ```bash rpm -e --nodeps 包名 ``` 或者使用yum卸载(推荐): ```bash yum remove mysql* ``` 如果是Ubuntu系统,使用apt: ```bash sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo apt-get autoremove sudo apt-get autoclean ``` **redis**: 同样,根据安装方式: - 如果通过包管理器安装,则使用对应命令卸载: - CentOS: `yum remove redis` - Ubuntu: `apt-get remove --purge redis-server` - 如果是源码安装,则删除安装目录(通常为`/usr/local/redis`)配置文件(`/etc/redis.conf`)等。 另外,对于通过编译安装的软件,可能需要手动删除安装目录以及配置文件。 但是,用户并没有明确说明这些软件是通过什么方式安装的。因此,我们需要提供多种情况的卸载方法。 步骤总结如下: 1. **确定安装方式**:通过系统包管理器(yum/rpm/apt)安装的,还是通过解压或编译安装的? 2. **停止相关服务**:在卸载前,先停止服务。 3. **卸载软件**: - 包管理器安装的:使用包管理器卸载。 - 解压安装的:删除目录。 - 编译安装的:如果安装了`make install`,通常在安装目录下有`uninstall`或`make uninstall`,否则手动删除。 4. **清理配置文件数据文件**:根据情况删除配置文件数据库文件(如mysql的数据目录)。 针对每个软件,我们给出详细步骤: ### 1. 卸载 apache-tomcat - 停止Tomcat: ```bash /usr/local/tomcat/bin/shutdown.sh # 进入Tomcat的bin目录执行,或者使用绝对路径 ``` - 删除安装目录,例如: ```bash rm -rf /usr/local/tomcat ``` - 如果配置为服务,删除服务脚本(如`/etc/init.d/tomcat`)并移除服务。 ### 2. 卸载 docker-compose - 如果通过pip安装: ```bash pip uninstall docker-compose ``` - 如果是下载的二进制文件: ```bash rm /usr/local/bin/docker-compose ``` - 检查是否删除成功: ```bash docker-compose --version ``` ### 3. 卸载 mysql - 停止MySQL服务: ```bash systemctl stop mysqld ``` - 查看安装包并卸载: - CentOS/RHEL: ```bash rpm -qa | grep -i mysql yum remove mysql mysql-server mysql-libs # 或者根据查到的包名逐个卸载 ``` 或者强制卸载: ```bash rpm -e --nodeps `rpm -qa | grep -i mysql` ``` - Ubuntu/Debian: ```bash sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo apt-get autoremove sudo apt-get autoclean ``` - 删除残留文件: ```bash rm -rf /var/lib/mysql rm -rf /etc/mysql ``` ### 4. 卸载 redis - 停止Redis服务: ```bash systemctl stop redis ``` - 卸载: - CentOS/RHEL: ```bash yum remove redis ``` - Ubuntu/Debian: ```bash apt-get remove --purge redis-server ``` - 源码安装:删除安装目录(如`/usr/local/redis`)配置文件(`/etc/redis.conf`)等。 注意:卸载前请备份重要数据。 如果用户不确定安装方式,可以尝试先通过包管理器卸载,然后再手动删除相关文件。 最后,生成相关问题。 </think> ### Linux 系统卸载安装包指南 #### **1. Apache-Tomcat 卸载** **安装方式**:解压安装包方式 ```bash # 停止Tomcat服务(进入Tomcat的bin目录) cd /usr/local/tomcat/bin ./shutdown.sh # 删除安装目录(路径根据实际安装位置调整) rm -rf /usr/local/tomcat ``` #### **2. Docker-Compose 卸载** **安装方式**:二进制文件安装 ```bash # 删除二进制文件 sudo rm /usr/local/bin/docker-compose # 卸载Python包版本(如果通过pip安装) pip uninstall docker-compose ``` #### **3. MySQL 卸载** **安装方式**:RPM 包管理 ```bash # 停止MySQL服务 sudo systemctl stop mysqld # 查询已安装rpm -qa | grep -i mysql # 卸载所有相关包(从列表最下方开始卸载) rpm -e --nodeps mysql-community-server-8.0.26 mysql-common-8.0.26... # 或强制卸载所有 rpm -e --nodeps $(rpm -qa | grep -i mysql) # 清理残留 rm -rf /var/lib/mysql # 数据目录 rm -rf /etc/my.cnf # 配置文件 ``` #### **4. Redis 卸载** **安装方式**:源码编译安装 ```bash # 停止Redis服务 sudo systemctl stop redis # 删除安装文件 rm -rf /usr/local/redis # 删除配置文件数据 rm -rf /etc/redis /var/lib/redis ``` #### **通用注意事项** - **权限要求**:所有操作需 `root` 或 `sudo` 权限[^3] - **残留清理**: ```bash # 检查进程是否停止 ps -ef | grep -e tomcat -e mysql -e redis ``` - **安装验证**: ```bash # 检查命令是否存在 which tomcat # 应返回空 docker-compose -v # 应报错"command not found" mysql --version # 应报错"command not found" ``` > **操作示例**: > ```bash > $ rpm -qa | grep -i mysql > mysql-community-server-8.0.26-1.el7.x86_64 > mysql-common-8.0.26-1.el7.x86_64 > $ rpm -e --nodeps mysql-community-server-8.0.26 mysql-common-8.0.26 > ``` --- ### 相关问题 1. 如何彻底清理 MySQL 卸载后的残留配置文件? 2. 源码编译安装的软件(如 Redis)如何验证完全卸载? 3. 使用 `apt` 或 `yum` 安装的软件包如何正确卸载? 4. 卸载 Docker-Compose 后如何重新安装特定版本? 5. 如何批量卸载多个无关的软件包(如 Nginx + PHP)? [^1]: 参考 Linux 下卸载 Apache 方法 [^2]: 参考 Apache Tomcat 安装路径 [^3]: 参考 Linux 卸载 MySQL 权限要求 [^4]: 参考 RPM 包卸载顺序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值