陈天芳 發表於 2023-9-6 00:00:00

详解CentOS7下安装Mysql和配置mysql

<p>
        终于在centos下安装完了MySQL,使用的是yum在线安装方式。没有用源码安装,因为在线安装省时省力。</p>
<p>
        在上一台机器中,不知道什么原因使用yum在线安装速度很慢,无法下载,于是重做了系统安装,至于什么原因导致的网速慢暂时还未解决,以后回来补充,也欢迎各位评论解决。</p>
<p>
        记录一下MySQL的安装之路:</p>
<p>
        首先,由于yum中没有MySQL源,需要使用wget方式来安装:</p>
<p>
        下载mysql的repo源</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_619269">
                        <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-5</code><code class="bash plain">.noarch.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>
        安装mysql-community-release-el7-5.noarch.rpm包:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_5823">
                        <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">$ </code><code class="bash functions">sudo</code> <code class="bash plain">rpm -ivh mysql-community-release-el7-5.noarch.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>
        安装MySQL</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_71947">
                        <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">$ </code><code class="bash functions">sudo</code> <code class="bash plain">yum </code><code class="bash functions">install</code> <code class="bash plain">mysql-server</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        这个时间会有点长,耐心等待,如果网络状况不佳或者yum出问题了则会安装失败,只能使用本地源码安装</p>
<p>
        安装成功之后,先别急着登录。</p>
<p>
        cengtos在安装完成之后会随机为root用户生成一个密码,我们可以在grep "password" /var/log/mysqld.log 中去查看。</p>
<p>
        有些教程说需要先使用这个随机密码去登陆MySQL,再去修改密码。</p>
<p>
        扯淡,玩意密码中含有特殊字符咋整,比如;,直接退出。</p>
<p>
        正确做法是先修改mysql文件,使其无密码登录:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_61053">
                        <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">$ vim </code><code class="bash plain">/etc/my</code><code class="bash plain">.cnf</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        在MySQL下添加:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_441638">
                        <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">skip-grant-tables</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        启动MySQL:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_778784">
                        <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</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        输入mysql就可以直接登录,无需用户名密码。</p>
<p>
        接下来,修改密码:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlightersql" id="highlighter_126148">
                        <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="sql plain">mysql&gt; use MySQL; </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="sql plain">mysql&gt; </code><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">'root'</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>
        在这里,会出错:</p>
<p>
        ERROR 1054 (42S22): Unknown column 'password' in'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string</p>
<p>
        应该使用:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlightersql" id="highlighter_474012">
                        <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="sql plain">MySQL&gt;</code><code class="sql keyword">update</code> <code class="sql plain">MySQL.userset authentication_string=</code><code class="sql keyword">password</code><code class="sql plain">(</code><code class="sql string">'root'</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 class="line number2 index1 alt1">
                                                                        <code class="sql plain">MySQL&gt;flush </code><code class="sql keyword">privileges</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>
        这样,mysql就配置成功了</p>
<p>
        启动MySQL</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlightersql" id="highlighter_489311">
                        <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 plain">$ systemctl start mysqld</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>
        最后,别忘了删除掉/etc/my.cnf 里的skip-grant-tables</p>
<p>
        重启mysql:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_220496">
                        <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"></code><code class="bash comments"># service mysqld restart</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>
        原文链接:http://blog.csdn.net/qq_31573519/article/details/53934436</p>
頁: [1]
查看完整版本: 详解CentOS7下安装Mysql和配置mysql