CentOS 7安装Mysql并设置开机自启动的方法
<p>CentOS 7不带Mysql数据库了,默认的数据库是MariaDB(Mysql的一个分支)。</p>
<p>
<span><strong>可以按照以下步骤手动安装Mysql数据库。</strong></span></p>
<p>
1. 下载rpm安装文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_861921">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">wget http:</code><code class="bash plain">//repo</code><code class="bash plain">.mysql.com</code><code class="bash plain">/mysql-community-release-el7</code><code class="bash plain">.rpm</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
2. 执行rpm安装</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_556912">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">rpm -ivh mysql-community-release-el7.rpm</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
依赖解析完成后,出现下列选项:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_970033">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">Dependencies Resolved</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">==============================================================================================================</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash spaces"> </code><code class="bash plain">Package Arch Version Repository Size</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">==============================================================================================================</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">Installing:</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash spaces"> </code><code class="bash plain">mysql-community-libs x86_64 5.6.32-2.el7 mysql56-community 2.0 M</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash spaces"> </code><code class="bash plain">replacing mariadb-libs.x86_64 1:5.5.47-1.el7_2</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash spaces"> </code><code class="bash plain">mysql-community-server x86_64 5.6.32-2.el7 mysql56-community 59 M</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash spaces"> </code><code class="bash plain">Installing </code><code class="bash keyword">for</code> <code class="bash plain">dependencies:</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash spaces"> </code><code class="bash plain">mysql-community-client x86_64 5.6.32-2.el7 mysql56-community 19 M</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash spaces"> </code><code class="bash plain">mysql-community-common x86_64 5.6.32-2.el7 mysql56-community 256 k</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash spaces"> </code><code class="bash plain">perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash spaces"> </code><code class="bash plain">perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash spaces"> </code><code class="bash plain">perl-DBI x86_64 1.627-4.el7 base 802 k</code>
</div>
<div class="line number16 index15 alt1">
<code class="bash spaces"> </code><code class="bash plain">perl-IO-Compress noarch 2.061-2.el7 base 260 k</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash spaces"> </code><code class="bash plain">perl-Net-Daemon noarch 0.48-5.el7 base 51 k</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash spaces"> </code><code class="bash plain">perl-PlRPC noarch 0.2020-14.el7 base 36 k</code>
</div>
<div class="line number19 index18 alt2">
</div>
<div class="line number20 index19 alt1">
<code class="bash plain">Transaction Summary</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain">=============================================================================================================</code>
</div>
<div class="line number22 index21 alt1">
<code class="bash plain">Install 2 Packages (+8 Dependent packages)</code>
</div>
<div class="line number23 index22 alt2">
</div>
<div class="line number24 index23 alt1">
<code class="bash plain">Total download size: 82 M</code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain">Is this ok :</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
3. 可以看出,server和client都被选择安装。选择y,自动下载安装。</p>
<p>
4. 安装完成后,启动Mysql。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_334386">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">systemctl start mysqld.service</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
5. 设置root密码。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_196190">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql keyword">update</code> <code class="sql color2">user</code> <code class="sql keyword">set</code> <code class="sql keyword">password</code><code class="sql plain">=</code><code class="sql keyword">password</code><code class="sql plain">(</code><code class="sql string">"123456"</code><code class="sql plain">) </code><code class="sql keyword">where</code> <code class="sql color2">user</code><code class="sql plain">=</code><code class="sql string">'root'</code><code class="sql plain">;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
6. 开机自启动。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_424699">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">vim </code><code class="bash plain">/etc/rc</code><code class="bash plain">.</code><code class="bash functions">local</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">添加service mysqld start</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
7.重要更新:</p>
<p>
新的rpm安装文件没有自动yum安装的脚本了,需要手动执行yum安装。</p>
<p>
即步骤2之后执行yum install mysql-server即可。</p>
<p>
8.关于自启动</p>
<p>
步骤6只适用于mysqld没有自启动的条件下。</p>
<p>
如果默认mysql是自启动的,可能和rc.local中的自启动出现乱序之类的问题。</p>
<p>
<span><strong>更稳妥的一个解决办法见:</strong></span></p>
<p>
<span><strong>CentOS 7 程序自启动的问题</strong></span></p>
<p>
<strong>一、问题现象:</strong></p>
<p>
系统重启后,发现mysqld服务启动正常,但是依赖mysql数据库的应用程序A启动失败。</p>
<p>
查看日志显示,程序A启动的时候链接数据库失败。</p>
<p>
<strong>二、原因分析:</strong></p>
<p>
mysqld服务是正常启动的。</p>
<p>
此时手动重启程序A,A也正常运行。</p>
<p>
结论:说明程序A启动的时候,mysqld可能没有启动。</p>
<p>
<strong>三、启动顺序</strong></p>
<p>
首先想到的就是调整mysqld服务的启动顺序,让它高过我的程序A。</p>
<p>
然而发现/etc/init.d路径下没有关于mysqld的启动脚本。</p>
<p>
<strong>四、解决思路</strong></p>
<p>
按照链接指示安装的mysqld默认是自动启动的。</p>
<p>
可以取消mysqld的自启动,然后写一个启动脚本确保它启动在程序A启动之前。</p>
<p>
<strong>五、解决办法</strong></p>
<p>
1. 查看系统当前默认启动项目的方法,不再是setup之类的了。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_556195">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">systemctl list-unit-files</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
执行此命令能查看当前系统的服务启动和服务状态。</p>
<p>
结果显示如下:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_964701">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">...</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">microcode.service enabled </code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">mysql.service enabled </code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">mysqld.service enabled </code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">NetworkManager-dispatcher.service enabled </code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">...</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
2. 取消mysqld的自启动</p>
<p>
systemctl disable mysqld</p>
<p>
执行该命令后再查看当前系统的服务状态:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_531810">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">...</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">microcode.service enabled </code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">mysqld.service disabled</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">NetworkManager-dispatcher.service enabled </code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">...</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
3. 自定义/etc/rc.local</p>
<p>
先执行systemctl start mysqld</p>
<p>
再执行startA</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p>
<p>
原文链接:http://www.cnblogs.com/yoyotl/p/5752437.html</p>
頁:
[1]