Linux应用—MySQL安装

MySQL数据库管理系统安装部署【简单】

简介

MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。

MySQL数据库可谓是软件行业的明星产品,无论是后端开发、大数据、AI、运维、测试等各类岗位,基本上都会和MySQL打交道。

让我们从MySQL开始,进行实战的Linux软件安装部署。

本次分为3个版本进行安装:

  • MySQL 5.7版本安装
  • MySQL 8.x版本安装
  • MySQL 5.7和8.x一起安装

由于MySQL5.x和8.x各自有许多使用者,所以这两个版本我们都演示安装一遍

注意

Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:
MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

MySQL的安装过程中,除了会使用Linux命令外,还会使用到少量的数据库专用的:SQL语句

对于SQL语句我们并未涉及,所以可以跟随教程的内容,复制粘贴即可

MySQL5.7版本在CentOS系统安装(yum方法安装)

注意:安装操作需要root权限

MySQL的安装我们可以通过前面学习的yum命令进行。

安装

  1. 配置yum仓库

    # 更新密钥
    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    
    # 安装Mysql yum库
    rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
    

在这里插入图片描述

由于MySQL并不在CentOS的官方仓库中,所以我们通过上述rpm命令:

  • 导入MySQL仓库的密钥
  • 配置MySQLQ的yum仓库
  1. 使用yum安装MySQL

    # yum安装Mysql
    yum -y install mysql-community-server
    

在这里插入图片描述

  1. 安装完成后,启动MySQL并配置开机自启动

    systemctl start mysqld		# 启动
    systemctl enable mysqld		# 开机自启
    

    MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理

  2. 检查MySQL的运行状态

    systemctl status mysqld
    

成功启动的状态

2

停止的状态
在这里插入图片描述

配置

主要配置管理员用户root的密码以及配置允许远程登录的权限。

  1. 获取MySQL的初始密码

    # 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
    grep 'temporary password' /var/log/mysqld.log
    

在这里插入图片描述

  1. 登陆MySQL数据库系统

    # 执行
    mysql -uroot -p
    # 解释
    # -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root
    # -p,表示使用密码登陆
    
    # 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库
    

在这里插入图片描述

  1. 修改root用户密码

    # 在MySQL控制台内执行
    ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';	-- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
    
  2. [扩展],配置root的简单密码

    我们可以给root设置简单密码,如123456.

    请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码

    # 如果你想设置简单密码,需要降低Mysql的密码安全级别
    set global validate_password_policy=LOW; # 密码安全级别低
    set global validate_password_length=4;	 # 密码长度最低4位即可
    
    # 然后就可以用简单密码了(学习中使用简单密码,为了方便,生产中不要这样)
    ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';
    

在这里插入图片描述

  1. [扩展],配置root运行远程登录

    默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统

    请注意,允许root远程登录会带来安全风险

    # 授权root远程登录
    grant all privileges on *.* to root@"IP地址" identified by '密码' with grant option;  
    # IP地址即允许登陆的IP地址,也可以填写%,表示允许任何地址
    # 密码表示给远程登录独立设置密码,和本地登陆的密码可以不同
    
    # 刷新权限,生效
    flush privileges;
    

在这里插入图片描述

MySQL的语句一定要以;结尾

  1. 退出MySQL控制台页面

    # 退出命令
    exit
    
    # 或者通过快捷键退出:ctrl + d
    
  2. 检查端口

    MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

    netstat -anp | grep 3306
    

在这里插入图片描述

至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。

彻底删除低版本mysql5.7

一、检查是否安装了Mysql
关闭MySQL
systemctl stop mysqld

Yum检查
yum list installed | grep mysql

在这里插入图片描述

安装则直接删除

yum -y remove mysql mysql-server mysql-libs compat-mysql
yum -y remove mysql-community-release
yum -y remove mysql-community-common.x86_64 
yum -y remove mysql57-community-release.noarch

在这里插入图片描述

直到全部删除
在这里插入图片描述

rpm检查
rpm -qa | grep -i mysql

rpm -e mysql  // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

有则直接删除

rpm -e --nodeps mysql-community-libs-5.7.22-1.el7.x86_64

rpm -e –nodeps mysql57-community-release-el7-11.noarch

删除MariaDB的文件(有则删除,没有则不用管)
由于MySQL在CentOS7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB.

使用rpm 命令查找出要删除的mariadb文件

rpm -pa | grep mariadb
可能的显示结果如下:
mariadb-libs-5.5.56-2.el7.x86_64

rpm -e mariadb-libs-5.5.56-2.el7.x86_64 #删除上面的程序

可能出现错误提示如下:

依赖检测失败:

libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

使用强制删除:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
至此就将原来有的mysql 和mariadb数据库删除了;

二、口令查找Mysql的安装目录和残存文件

whereis mysql
find / -name mysql

删除MySQL的数据存放目录

rm -rf /var/lib/mysql/

删除MySQL的配置文件备份

rm -rf /etc/my.cnf.rpmsave

三、查看mysql配置文件
以my.cnf为例,一般在/etc/my.cnf,直接rm即可。
cat /etc/my.cnf
在这里插入图片描述

如果设置了开机启动,也需要关闭。

chkconfig --list | grep -i mysql

chkconfig --del mysqld

在这里插入图片描述

四、再次检查
重复上面的步骤,检查是否完关于mysql的内容。

MySQL8.0版本在CentOS系统安装以及卸载(rpm安装)

注意:安装操作需要root权限。
对于Centos来说因为MySQL8.0被甲骨文公司收购所以有闭源的风险所以yum目前好像没法安装,我尝试过网上给的使用mariadb的方法没有成功,因此这里写出我使用成功的一种方法。

卸载

停止MySQL服务

systemctl stop mysqld

查询MySQL的安装文件

rpm -qa | grep -i mysql

在这里插入图片描述

卸载上述查询出来的所有的MySQL安装包

rpm -e mysql-community-client-plugins-8.0.26-1.el7.x86_64 --nodeps

rpm -e mysql-community-server-8.0.26-1.el7.x86_64 --nodeps

rpm -e mysql-community-common-8.0.26-1.el7.x86_64 --nodeps

rpm -e mysql-community-libs-8.0.26-1.el7.x86_64 --nodeps

rpm -e mysql-community-client-8.0.26-1.el7.x86_64 --nodeps

rpm -e mysql-community-libs-compat-8.0.26-1.el7.x86_64 --nodeps

删除MySQL的数据存放目录

rm -rf /var/lib/mysql/

删除MySQL的配置文件备份

rm -rf /etc/my.cnf.rpmsave

安装

  1. 下载Linux版MySQL安装包

https://downloads.mysql.com/archives/community/
在这里插入图片描述

  1. 上传MySQL安装包
    在这里插入图片描述

  2. 创建目录,并解压

mkdir -p /export/server#这是我对于外部软件安装的路径,你自己的是啥,看自己喜好(非必须)

mkdir /export/server/mysql#前面的按照自己喜欢的改

tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C /export/server/mysql

在这里插入图片描述

  1. 安装mysql的安装包

一定要按顺序,否则可能报依赖错

cd mysql

rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm 

rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm

yum -y install openssl-devel #非必须当报错时安装,

rpm -ivh  mysql-community-devel-8.0.26-1.el7.x86_64.rpm
#错误:依赖检测失败:
#       pkgconfig(openssl) 被 mysql-community-devel-8.0.26-1.el7.x86_64 需要
#这里可能会报这个错误,安装上面那个依赖解决

rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm

rpm -ivh  mysql-community-server-8.0.26-1.el7.x86_64.rpm

注意,最后会报错
在这里插入图片描述

安装相关依赖
在这里插入图片描述

  1. 启动MySQL服务
systemctl start mysqld#启动
systemctl restart mysqld#重启
systemctl stop mysqld#停止
systemctl enable mysqld	# 开机自启
  1. 查询自动生成的root用户密码
grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述

第一行:之后为临时密码,也就是F?g+K=+oQ6<i,你的机子和我的不一定一样,自己看

命令行执行指令 :

mysql -u root -p

然后输入上述查询到的自动生成的密码, 完成登录 ,输入密码时没有显示,你放心输入,只要对,最后一回车能进入

以下操作只允许自己学习,或者玩的时候用,不允许放在生产环境中,放了出问题别说从我这学的

  1. 修改root用户密码

登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。

ALTER  USER  'root'@'localhost'  IDENTIFIED BY '1234';

执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够。我们可以设置密码的复杂度为简单类型,密码长度为4。(在mysql不同版本中不一样)

SHOW VARIABLES LIKE 'validate_password%';
之后查看名字设置

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 8     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.02 sec)

例如按照这里的名字设置

set global validate_password.policy = 0;
set global validate_password.length = 4;

降低密码的校验规则之后,再次执行上述修改密码的指令。

  1. 创建用户

默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问

create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
  1. 并给root用户分配权限
grant all on *.* to 'root'@'%';
  1. 退出MySQL
    exit

  2. 检查端口

MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

netstat -anp | grep 3306

12.开启3306端口的防火墙

 	firewall-cmd --query-port=3306/tcp
#提示 yes,表示开启;no表示未开启。
 	firewall-cmd --add-port=3306/tcp --permanent#添加指定需要开放的端口
 	firewall-cmd --reload#重载入添加的端口
 	firewall-cmd --query-port=3306/tcp#查询指定端口是否开启成功

在这里插入图片描述

以上操作嫌麻烦的可直接关闭防火墙systemctl stop firewalld
12. 重新连接MySQL

mysql -u root -p

然后输入密码

  1. 通过自己的可视化数据库界面远程连接MySQL
    在这里插入图片描述

MySQL 5.7和8.x一起安装

从官网下载
https://downloads.mysql.com/archives/community/
在这里插入图片描述

这里选择Linux通用的64位,看红框,8.0版本,选择自己需要的MySQL,不建议选择最新的,不一定稳定。5.7的版本类似.
之后上传到文件夹。
在这里插入图片描述

MySQL5.7安装步骤

先把将安装包解压、重命名,移动到/usr/local/目录:

cd ~
tar -xvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.36-linux-glibc2.12-x86_64 mysql57
mv mysql57/ /usr/local/

在MySQL安装目录下创建存储数据库数据的新目录data/:

cd /usr/local/mysql57/
mkdir data

新建编辑my.cnf文件并赋予执行权限(这是MySQL5.7的配置文件,8.0和5.7不一样,8.0的在后面):

cd /usr/local/mysql57/
vim my.cnf
[mysqld]
basedir=/usr/local/mysql57/
datadir=/usr/local/mysql57/data/
port=3306
socket=/tmp/mysql57.sock
log-bin=/usr/local/mysql57/mysql-bin
server-id=2

[mysqld_safe]
log-error=/usr/local/mysql57/data/error.log
pid-file=/usr/local/mysql57/data/mysqld.pid
tmpdir=/tmp/mysql57

chmod 755 my.cnf

对照以下内容,修改/usr/local/mysql57/support-files/mysql.server文件:

vim /usr/local/mysql57/support-files/mysql.server

……
basedir=/usr/local/mysql57
datadir=/usr/local/mysql57/data
……
lockdir='/var/lock/subsys'
lock_file_path="$lockdir/mysql57"
……
mysqld_pid_file_path=/usr/local/mysql57/data/mysqld.pid
……
conf=/usr/local/mysql57/my.cnf
……

将修改之后的文件复制到/etc/init.d/目录,再将复制过去的文件重命名为mysql57:

cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/
mv /etc/init.d/mysql.server /etc/init.d/mysql57

添加mysql用户和用户组,修改MySQL安装目录的所有者:

groupadd mysql
useradd mysql -g mysql
chown mysql:mysql /usr/local/mysql57/

初始化MySQL5.7,记得保存如下图框出来位置的初始化密码,登录的时候要用这个密码登录:
/usr/local/mysql57/bin/mysqld --defaults-file=/usr/local/mysql57/my.cnf --user=mysql --initialize

在这里插入图片描述

MySQL5.7就算是安装完毕了。

启动MySQL5.7:
service mysql57 start
在这里插入图片描述

#登录MySQL5.7
#因为要同时安装5.7和8.0,所以要选择登录的是哪个目录下的MySQL,5.7的目录是mysql57、端口号是3306。这些内容都是在配置文件中定义的。指定本地IP是使用tcp/ip方式登录,也可以通过指定socket文件的方式登录。
#socket本地登录:
#/usr/local/mysql80/bin/mysql -S/tmp/mysql57.sock -uroot -p 
#tcp/ip登录:
#/usr/local/mysql80/bin/mysql -uroot -p -h127.0.0.1 -P3306
#每一次输这么长有点麻烦,我们可以配置直接使用 mysql57命令登录:
#系统默认在 /usr/bin 目录下查找命令,所以在 /usr/bin 目录下给 mysql57 的启动程序设置一个软链接(类似Windows的快捷方式),再将软链接的名称改一下,/usr/bin/目录下5.7的mysql软链接名字改成mysql57,方便区分5.7和8.0。
ln -s /usr/local/mysql57/bin/mysql /usr/bin
mv /usr/bin/mysql /usr/bin/mysql57
#测试一下,查看安装的MySQL版本号
mysql57 -V
#登录(输入密码不显示,直接粘贴原先的初始化密码回车就行)
mysql57 -uroot -p -S/tmp/mysql57.sock

在这里插入图片描述


以下非必须,只是启动安全策略
修改my.cnf,重新启动mysql服务器以使新设置生效。

cd /usr/local/mysql57/
vim my.cnf

my.cnf添加文件如下:

plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT

解释一下:

plugin-load-add=validate_password.so:插件的加载方法,每次服务器启动时都必须给出该选项;

validate-password=FORCE_PLUS_PERMANENT:validate-password在服务器启动时使用该选项来控制插件的激活。

或者进入mysql服务器后直接输入
INSTALL PLUGIN validate_password SONAME 'validate_password.so';

验证:
SHOW VARIABLES LIKE 'vali%';
展示安全策略

在这里插入图片描述

(在mysql不同版本中不一样)

SHOW VARIABLES LIKE 'validate_password%';
之后查看名字设置

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | ON    |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

例如按照这里的名字设置

 # 如果你想设置简单密码,需要降低Mysql的密码安全级别
   set global validate_password_policy=LOW; # 密码安全级别低
   set global validate_password_length=4;	 # 密码长度最低4位即可

   # 然后就可以用简单密码了(学习中使用简单密码,为了方便,生产中不要这样)
   ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';

以上非必须


以下命令只允许自己学习,坚决不允许用在生产环境中,如果要使用,请请教公司前辈

#设置密码为1234之后退出
ALTER  USER  'root'@'localhost'  IDENTIFIED BY '1234';
exit

MySQL8.0安装步骤

把安装包解压、重命名,移动到/usr/local/目录:

cd ~
tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.32-linux-glibc2.12-x86_64/ mysql80/
mv mysql80/ /usr/local/

在MySQL安装目录下创建存储数据库数据的新目录data/:

cd /usr/local/mysql80/
mkdir data

新建编辑my.cnf文件并赋予执行权限(MySQL8.0的配置文件):

cd /usr/local/mysql80/
vim my.cnf
[mysqld]
basedir=/usr/local/mysql80/
datadir=/usr/local/mysql80/data/
port=3307
socket=/tmp/mysql80.sock
character-set-server=UTF8MB4
symbolic-links=0

log-bin=/usr/local/mysql80/mysql-bin
server-id=1

gtid_mode=on
enforce_gtid_consistency=on

[mysqld_safe]
log-error=/usr/local/mysql80/data/error.log
pid-file=/usr/local/mysql80/data/mysqld.pid
tmpdir=/tmp/mysql80

chmod 755 my.cnf

对照以下内容,修改/usr/local/mysql80/support-files/mysql.server文件:
vim /usr/local/mysql80/support-files/mysql.server

……
basedir=/usr/local/mysql80
datadir=/usr/local/mysql80/data
……
lockdir='/var/lock/subsys'
lock_file_path="$lockdir/mysql80"
……
mysqld_pid_file_path=/usr/local/mysql80/data/mysqld.pid
……
conf=/usr/local/mysql80/my.cnf
……

将修改之后的文件复制到/etc/init.d/目录,再将复制过去的文件重命名为mysql80:

cp /usr/local/mysql80/support-files/mysql.server /etc/init.d/
mv /etc/init.d/mysql.server /etc/init.d/mysql80

添加mysql用户和用户组,修改MySQL安装目录的所有者:

groupadd mysql#前面5.7添加了后面不需要
useradd mysql -g mysql#前面5.7添加了后面不需要
chown mysql:mysql /usr/local/mysql80/

初始化MySQL8.0,记得保存如下图框出来位置的初始化密码,登录的时候要用这个密码登录:

/usr/local/mysql80/bin/mysqld --defaults-file=/usr/local/mysql80/my.cnf --user=mysql --initialize

在这里插入图片描述

MySQL8.0就算是安装完毕了。

启动MySQL8.0(输入密码不显示,直接粘贴原先的初始化密码就行)(5.7和8.0类似):

service mysql80 start
#登录MySQL8.0
#因为要同时安装5.7和8.0,所以要选择登录的是哪个目录下的MySQL,8.0的目录是mysql80、端口号是3307。这些内容都是在配置文件中定义的。指定本地IP是使用tcp/ip方式登录,也可以通过指定socket文件的方式登录。
#socket本地登录:
#/usr/local/mysql80/bin/mysql -S/tmp/mysql80.sock -u root -p 
#tcp/ip登录:
#/usr/local/mysql80/bin/mysql -u root -p -h 127.0.0.1 -P 3307
#可以配置直接使用 mysql80 登录:
#系统默认在 /usr/bin 目录下查找命令,所以在 /usr/bin 目录下给 mysql80 的启动程序设置一个软链接(类似Windows的快捷方式),再将软链接的名称改一下,/usr/bin/目录下8.0的mysql软链接名字改成mysql80,方便区分5.7和8.0。
ln -s /usr/local/mysql80/bin/mysql /usr/bin
mv /usr/bin/mysql /usr/bin/mysql80
#测试一下,查看安装的MySQL版本号
mysql80 -V
#登录(输入密码不显示,直接粘贴原先的初始化密码回车就行)
mysql80 -uroot -p -S/tmp/mysql80.sock

启动成功
在这里插入图片描述

版本信息
在这里插入图片描述

以下命令只允许自己学习,坚决不允许用在生产环境中,如果要使用,请请教公司前辈

修改root用户的密码为1234:

#更改root用户的默认密码为1234
mysql> set password for 'root'@'localhost'='1234';
#退出
mysql> exit

安全规则设置方法和5.7一样,参考前面的,因为非必须,这里不再设置

允许其他所有机器连接本机MySQL8.0,这样物理机的Navicat就可以连接虚拟机的MySQL8.0了,改完之后用第二条语句刷新一下权限,现在就可以在物理机上连接了

mysql> use mysql;
mysql> update user set host='%' where user='root' and host='localhost'; #允许所有机器连接本虚拟机的MySQL
mysql> flush privileges; #刷新权限
mysql> select user,host from user;
mysql> exit

在这里插入图片描述

测试连接状态显示
在这里插入图片描述

在这里插入图片描述

不可连接。

如果Mysql8.0正常启动但是MySQL Workbench无法连接:

先检查主机地址和端口号和实际的是否相符;
如果所有配置都正确那可能就是虚拟机的防火墙原因,可以开放对应端口号或者关闭防火墙:
开放3307端口号:

firewall-cmd --list-all #查看防火墙开放的端口号
firewall-cmd --zone=public --add-port=3307/tcp --permanent
 #设置端口号3307开放
firewall-cmd --reload #重启防火墙
firewall-cmd --list-all #再次查看,可以看到3307已经开放

在这里插入图片描述

之后连接成功
在这里插入图片描述

另一个方法则是直接关闭防火墙,不推荐(很危险,容易成习惯,生产环境这样做,无异于自杀)

systemctl status firewalld #查看防火墙状态
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #设置防火墙不开机不会自启动(默认的是开机自启动)
systemctl start firewalld #开启防火墙
systemctl restart firewalld #重启防火墙
 systemctl enable firewalld #设置防火墙开机自启动


在这里插入图片描述

参考:
https://blog.csdn.net/qq_45855805/article/details/130015191

MySQL开机自启动设置

yum和rpm的开机自启动以上都有设置,以下介绍离线安装的也就是最后一种方法的开机自启动。

如果和我的安装方法一样对于mysql80和57,则前两步不需要
linux 上设置mysql开机自启
1、普通启动

service mysql57 start
service mysql80 start
或者只安装一个则为(这里代表只安装MySQL不是说安装mysql57和mysql80也可以这样代替只是说只安装一个版本的mysql)
service mysql start

2、这个时候我们只是单纯的启动了mysql,并没有做到开机启动
我们设置开机启动需要将mysql.server 文件复制到 /etc/rc.d/init.d/ 目录下mysql 文件 我们的mysql.server 文件一般都在安装的根目录下的 support-files 目录下

cp /usr/local/mysql57/mysql/support-files/mysql.server /etc/init.d/mysql57
cp /usr/local/mysql80/mysql/support-files/mysql.server /etc/init.d/mysql80
或者(这里代表只安装MySQL不是说安装mysql57和mysql80也可以这样代替只是说只安装一个版本的mysql)
cp /usr/local/mysql57/mysql/support-files/mysql.server /etc/init.d/mysql

3、复制成功后我们需要给赋予权限

chmod +x /etc/init.d/mysql80
chmod +x /etc/init.d/mysql57
或者(这里代表只安装MySQL不是说安装mysql57和mysql80也可以这样代替只是说只安装一个版本的mysql)
chmod +x /etc/init.d/mysql

4、 添加为服务:

chkconfig --add mysql57
chkconfig --add mysql80
或者(这里代表只安装MySQL不是说安装mysql57和mysql80也可以这样代替只是说只安装一个版本的mysql)
chkconfig --add mysql

5、查看服务列表:

chkconfig --list

在这里插入图片描述

看到3、4、5状态为开或者为 on 则表示成功。 如果是 关或者 off 则执行一下:

chkconfig --level 345 mysql80 on
chkconfig --level 345 mysql57 on
或者(这里代表只安装MySQL不是说安装mysql57和mysql80也可以这样代替只是说只安装一个版本的mysql)
chkconfig --level 345 mysql on

重启计算机:reboot

再次查看服务列表或者查看3306端口号

netstat -anp | grep 3306
netstat -anp | grep 3307

在这里插入图片描述

关闭开机自启动则为

chkconfig --list | grep -i mysql

chkconfig --del mysql80
chkconfig --del mysql57
或者(这里代表只安装MySQL不是说安装mysql57和mysql80也可以这样代替只是说只安装一个版本的mysql)
chkconfig --del mysql

相关推荐

  1. Linux安装mysql

    2024-02-22 17:28:01       37 阅读
  2. MySQL——Linux安装教程

    2024-02-22 17:28:01       15 阅读
  3. linux-mysql安装

    2024-02-22 17:28:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-22 17:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-22 17:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-22 17:28:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-22 17:28:01       20 阅读

热门阅读

  1. k8s-创建命名空间的方法

    2024-02-22 17:28:01       23 阅读
  2. Unity单元测试

    2024-02-22 17:28:01       30 阅读
  3. 基于Mocha的typescript调试教程

    2024-02-22 17:28:01       26 阅读
  4. windows系统用VS环境开发linux程序之一

    2024-02-22 17:28:01       32 阅读
  5. 一些内网渗透总结

    2024-02-22 17:28:01       32 阅读
  6. Python 将二维数组或矩阵变为三维

    2024-02-22 17:28:01       30 阅读
  7. 开源软件的影响力

    2024-02-22 17:28:01       28 阅读