智觉 發表於 2023-8-21 00:00:00

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]
查看完整版本: CentOS 7安装Mysql并设置开机自启动的方法