CentOS中安装MySQL步骤详解
<p>本文中Linux环境为CentOS 6.4 32位,且安装选择的是Basic Server版。</p><p>在有些Linux版本中会自带有MySQL数据库,所以在安装之前,需要检查当前Linux环境中是否已有MySQL数据库,若有,则先将其卸载。</p>
<p>以下为在CentOS中安装MySQL的基本步骤:</p>
<p>1)查看当前系统是否自带MySQL数据库</p>
<div class="cnblogs_code">
<pre># rpm -qa | <span style="color: rgba(0, 0, 255, 1)">grep</span><span style="color: rgba(0, 0, 0, 1)"> mysql
mysql</span>-libs-<span style="color: rgba(128, 0, 128, 1)">5.1</span>.<span style="color: rgba(128, 0, 128, 1)">66</span>-<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">.el6_3.i686
#</pre>
</div>
<p>说明:执行 <span style="text-decoration: underline"><strong>rpm -qa | grep mysql</strong></span> 命令来查看当然系统是否自带有MySQL数据库,若有,则会显示MySQL软件名称。</p>
<p>2)卸载自带的MySQL数据库</p>
<div class="cnblogs_code">
<pre># rpm -e --nodeps mysql-libs-<span style="color: rgba(128, 0, 128, 1)">5.1</span>.<span style="color: rgba(128, 0, 128, 1)">66</span>-<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">.el6_3.i686
#</pre>
</div>
<p> 说明:命令 <span style="text-decoration: underline"><strong>rpm -e --nodeps [要卸载的软件名]</strong></span> 用于卸载软件。</p>
<p>3)上传MySQL至Linux</p>
<p>该步骤可以使用很多种方式进行文件的上传。由于此时本人使用的电脑是Mac,因此本文中使用 <span style="text-decoration: underline"><strong>scp</strong></span> 命令,来进行文件传输。(也可以使用FTP工具来进行图形化界面操作)。</p>
<div class="cnblogs_code">
<pre>bogon:~ hrvy$ <span style="color: rgba(0, 0, 255, 1)">scp</span> ~/Downloads/MySQL/MySQL-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span>.el6.i686.rpm-bundle.<span style="color: rgba(0, 0, 255, 1)">tar</span> root@<span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">170.129</span>:~/<span style="color: rgba(0, 0, 0, 1)">
root@</span><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">170.129</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">s password:</span>
MySQL-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span>.el6.i686.rpm-bundle.<span style="color: rgba(0, 0, 255, 1)">tar</span> <span style="color: rgba(128, 0, 128, 1)">100</span>%205MB<span style="color: rgba(128, 0, 128, 1)">16</span>.9MB/s <span style="color: rgba(128, 0, 128, 1)">00</span>:<span style="color: rgba(128, 0, 128, 1)">12</span><span style="color: rgba(0, 0, 0, 1)">
bogon:</span>~ hrvy$</pre>
</div>
<p>4)解压MySQL软件包</p>
<p>解压<span lang="EN-US">MySQL到<span lang="EN-US">/usr/local/下的<span lang="EN-US">mysql目录<span lang="EN-US">(mysql目录需要手动创建<span lang="EN-US">)。首先创建<span style="text-decoration: underline">/usr/local/mysql/</span>目录,然后解压至该目录内。</span></span></span></span></span></p>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">mkdir</span> /usr/local/<span style="color: rgba(0, 0, 0, 1)">mysql
# <span style="color: rgba(0, 0, 255, 1)">tar</span> -xvf MySQL-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span>.el6.i686.rpm-bundle.<span style="color: rgba(0, 0, 255, 1)">tar</span> -C /usr/local/mysql/<span style="color: rgba(0, 0, 0, 1)">
MySQL</span>-shared-compat-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
MySQL</span>-server-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
MySQL</span>-client-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
MySQL</span>-devel-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
MySQL</span>-test-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
MySQL</span>-shared-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
MySQL</span>-embedded-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
#</pre>
</div>
<p>5)安装MySQL</p>
<p>经过第4步操作后,将当前目录切换到<span style="text-decoration: underline">/usr/local/mysql/</span>,可以看到该目录中有很多后缀为.rpm的安装包,而实际只需要安装server和client即可。</p>
<div class="cnblogs_code">
<pre># cd /usr/local/mysql/<span style="color: rgba(0, 0, 0, 1)">
# </span><span style="color: rgba(0, 0, 255, 1)">ls</span><span style="color: rgba(0, 0, 0, 1)">
MySQL</span>-client-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span>.el6.i686.rpm MySQL-shared-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
MySQL</span>-devel-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span>.el6.i686.rpm MySQL-shared-compat-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
MySQL</span>-embedded-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span>.el6.i686.rpmMySQL-test-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
MySQL</span>-server-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.el6.i686.rpm
#</span></pre>
</div>
<p>安装MySQL server:</p>
<div class="cnblogs_code">
<pre># rpm -ivh MySQL-server-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span>.el6.i686.rpm</pre>
</div>
<p>如提示 <span style="text-decoration: underline"><strong>error: Failed dependencies:</strong></span> 错误,则需要安装MySQL依赖,执行以下命令即可:</p>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">yum</span> -y <span style="color: rgba(0, 0, 255, 1)">install</span> libaio.so.<span style="color: rgba(128, 0, 128, 1)">1</span> libgcc_s.so.<span style="color: rgba(128, 0, 128, 1)">1</span> libstdc++.so.<span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">
#</span></pre>
</div>
<p>安装MySQL client:</p>
<div class="cnblogs_code">
<pre># rpm -ivh MySQL-client-<span style="color: rgba(128, 0, 128, 1)">5.6</span>.<span style="color: rgba(128, 0, 128, 1)">22</span>-<span style="color: rgba(128, 0, 128, 1)">1</span>.el6.i686.rpm</pre>
</div>
<p>至此,MySQL数据库安装完成!</p>
<p>6)启动mysql服务</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># service mysql start
Starting MySQL.
#</span></pre>
</div>
<p>7)连接数据库</p>
<div class="cnblogs_code">
<pre># mysql -uroot -<span style="color: rgba(0, 0, 0, 1)">p
Enter password:</span></pre>
</div>
<p>此时,遇到一个问题,安装好的MySQL数据库密码是多少呢?其实,在安装MySQL server的时候,安装日志已经说明:生产的随机密码保存在<strong>/root/.mysql_secret</strong>文件中,可以查看一下这个文件:</p>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">cat</span> /root/<span style="color: rgba(0, 0, 0, 1)">.mysql_secret
# The random password set </span><span style="color: rgba(0, 0, 255, 1)">for</span> the root user at Fri Jun <span style="color: rgba(128, 0, 128, 1)">21</span> <span style="color: rgba(128, 0, 128, 1)">04</span>:<span style="color: rgba(128, 0, 128, 1)">56</span>:<span style="color: rgba(128, 0, 128, 1)">26</span> <span style="color: rgba(128, 0, 128, 1)">2019</span> (local <span style="color: rgba(0, 0, 255, 1)">time</span><span style="color: rgba(0, 0, 0, 1)">): 0lv4ltBp_sawlAGA
#</span></pre>
</div>
<p>现在,就可以登陆数据库了!</p>
<p>8)修改密码</p>
<p>登陆数据库之后,由于随机生成的密码太过难记,可以修改一个简单的密码,一边自己使用。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">mysql> set password = password('root');
Query OK, 0 rows affected (0.01 sec)
</pre>
</div>
<p> 此处将密码设置为了<span style="text-decoration: underline"><strong>root</strong></span>。现在可以退出重新登录,看看密码是否修改成功。</p>
<p>9)将mysql服务加入系统服务,并设置为开机启动</p>
<p>每当Linux系统重启之后,总要手动启动mysql服务,故为了方便,将其加入系统服务中,并设为开机自启。</p>
<div class="cnblogs_code">
<pre># chkconfig --<span style="color: rgba(0, 0, 0, 1)">add mysql
# chkconfig mysql on</span></pre>
</div>
<p>10)开启mysql的远程登录</p>
<p>因为MySQL数据库是安装在Linux上的,而现实操作往往并不是在该Linux直接使用,正常都是在本机上安装一款MySQL图形化管理工具,远程连接上Linux中的MySQL即可。</p>
<p>而远程登录数据库时,必须登陆的用户具有远程登录的权限,否则是无法登陆成功的。</p>
<div class="cnblogs_code">
<pre>mysql> grant all privileges on *.* to <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">root</span><span style="color: rgba(128, 0, 0, 1)">'</span> @<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">%</span><span style="color: rgba(128, 0, 0, 1)">'</span> identified by <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">root</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
Query OK, </span><span style="color: rgba(128, 0, 128, 1)">0</span> rows affected (<span style="color: rgba(128, 0, 128, 1)">0.01</span><span style="color: rgba(0, 0, 0, 1)"> sec)
mysql</span>><span style="color: rgba(0, 0, 0, 1)"> flush privileges;
Query OK, </span><span style="color: rgba(128, 0, 128, 1)">0</span> rows affected (<span style="color: rgba(128, 0, 128, 1)">0.01</span><span style="color: rgba(0, 0, 0, 1)"> sec)
mysql</span>></pre>
</div>
<p>说明:<span style="text-decoration: underline"><strong>grant ...</strong></span> 语句中,第一个 'root' 是用户名,第二个 'root' 是远程登录密码,远程登录密码可以设置为其他,其仅作为远程登录使用的密码。<span style="text-decoration: underline"><strong>flush ...</strong></span> 语句作用:刷新权限,使设置生效。</p>
<p>11)开启3306端口</p>
<p>默认情况下,Linux的防火墙是开启的,3306端口也是未对外发放的,所以尽管上面那么多步骤全部正确完成,依旧远程连接不了数据库。此时解决方案有二:1)关闭Linux的防火墙;2)开启3306端口。</p>
<p>本案例使用的是开启3306端口,而并非直接关闭Linux防火墙。</p>
<div class="cnblogs_code">
<pre># iptables -I INPUT -p tcp --dport <span style="color: rgba(128, 0, 128, 1)">3306</span> -<span style="color: rgba(0, 0, 0, 1)">j ACCEPT<br></span></pre>
</div>
<p>【注意】使用 iptables 命令配置的防火墙规则默认会在系统下一次重启时失效,如果想让配置的防火墙策略永久生效,执行下面的保存命令:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># service iptables save
iptables: Saving firewall rules to </span>/etc/sysconfig/iptables:</pre>
</div>
<p>------------------------------------------------------</p>
<p>自此,大功告成!!!</p>
<p> </p><br><br>
来源:https://www.cnblogs.com/hrvyzou/p/11061521.html
頁:
[1]