CentOS 7安装Mysql并设置开机自启动的方法
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
CentOS下安装mysql时忘记设置root密码致无法登录的解决方法
-
CentOS下安装mysql时忘记设置root密码致无法登录的解决方法
-
CentOS7.x卸载与安装MySQL5.7的操作过程及编码格式的修改方法
-
详解CentOS设置程序开机自启动的方法
-
centos6.5服务器安装Nginx设置服务和开机自启的方法
-
CentOS7.x卸载与安装MySQL5.7的操作过程及编码格式的修改方法
-
centos7系统下nginx安装并配置开机自启动操作
-
CentOS7使用dnf安装mysql的方法
-
CentOS7安装Nginx并配置自动启动的方法步骤
-
centos7下安装mysql6初始化安装密码的方法