详解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> use MySQL; </code>
</div>
<div class="line number2 index1 alt1">
<code class="sql plain">mysql> </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></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>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]