服务器 
首页 > 服务器 > 浏览文章

CentOS 7安装Mysql并设置开机自启动的方法

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

CentOS 7不带Mysql数据库了,默认的数据库是MariaDB(Mysql的一个分支)。

可以按照以下步骤手动安装Mysql数据库。

1. 下载rpm安装文件

wget http://repo.mysql.com/mysql-community-release-el7.rpm

2. 执行rpm安装

rpm -ivh mysql-community-release-el7.rpm

依赖解析完成后,出现下列选项:

Dependencies Resolved

==============================================================================================================
 Package             Arch     Version     Repository       Size
==============================================================================================================
Installing:
 mysql-community-libs         x86_64    5.6.32-2.el7    mysql56-community     2.0 M
 replacing mariadb-libs.x86_64 1:5.5.47-1.el7_2
 mysql-community-server         x86_64    5.6.32-2.el7    mysql56-community      59 M
 Installing for dependencies:
 mysql-community-client         x86_64    5.6.32-2.el7    mysql56-community      19 M
 mysql-community-common         x86_64    5.6.32-2.el7    mysql56-community     256 k
 perl-Compress-Raw-Bzip2         x86_64    2.061-3.el7    base         32 k
 perl-Compress-Raw-Zlib         x86_64    1:2.061-4.el7   base         57 k
 perl-DBI            x86_64    1.627-4.el7    base         802 k
 perl-IO-Compress          noarch    2.061-2.el7    base         260 k
 perl-Net-Daemon           noarch    0.48-5.el7    base         51 k
 perl-PlRPC            noarch    0.2020-14.el7   base         36 k

Transaction Summary
=============================================================================================================
Install 2 Packages (+8 Dependent packages)

Total download size: 82 M
Is this ok [y/d/N]:

3. 可以看出,server和client都被选择安装。选择y,自动下载安装。

4. 安装完成后,启动Mysql。

systemctl start mysqld.service

5. 设置root密码。

update user set password=password("123456") where user='root';

6. 开机自启动。

vim /etc/rc.local
添加service mysqld start

7.重要更新:

新的rpm安装文件没有自动yum安装的脚本了,需要手动执行yum安装。

即步骤2之后执行yum install mysql-server即可。

8.关于自启动

步骤6只适用于mysqld没有自启动的条件下。

如果默认mysql是自启动的,可能和rc.local中的自启动出现乱序之类的问题。

更稳妥的一个解决办法见:

CentOS 7 程序自启动的问题

一、问题现象:

系统重启后,发现mysqld服务启动正常,但是依赖mysql数据库的应用程序A启动失败。

查看日志显示,程序A启动的时候链接数据库失败。

二、原因分析:

mysqld服务是正常启动的。

此时手动重启程序A,A也正常运行。

结论:说明程序A启动的时候,mysqld可能没有启动。

三、启动顺序

首先想到的就是调整mysqld服务的启动顺序,让它高过我的程序A。

然而发现/etc/init.d路径下没有关于mysqld的启动脚本。

四、解决思路

按照链接指示安装的mysqld默认是自动启动的。

可以取消mysqld的自启动,然后写一个启动脚本确保它启动在程序A启动之前。

五、解决办法

1. 查看系统当前默认启动项目的方法,不再是setup之类的了。

systemctl list-unit-files

 执行此命令能查看当前系统的服务启动和服务状态。

 结果显示如下:

 ...
 microcode.service       enabled 
 mysql.service        enabled 
 mysqld.service        enabled 
 NetworkManager-dispatcher.service   enabled 
 ...

2. 取消mysqld的自启动

systemctl disable mysqld

执行该命令后再查看当前系统的服务状态:

 ...
 microcode.service       enabled 
 mysqld.service        disabled
 NetworkManager-dispatcher.service   enabled 
 ...

3. 自定义/etc/rc.local

先执行systemctl start mysqld

再执行startA

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:docker官方镜像下载及使用Dockerfile创建镜像的方法
下一篇:Centos 7之Firewalld相关命令详细介绍
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。