哗啦啦的婲 發表於 2024-1-15 00:00:00

Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法

<p>
        前几天在阿里云买了个服务器 ,准备自己玩玩,现将最新版mysql(5.7.16)安装步骤,以及遇到问题及解决过程分享如下:</p>
<p>
        <span><strong>第一步:下载rpm包</strong></span></p>
<p>
        MySQL官网下载:http://dev.mysql.com/downloads/mysql/</p>
<p>
        但如果你的下载网速不好的话也可以点下面的链接下载自己想要的版本</p>
<p>
        http://mirrors.sohu.com/mysql/MySQL-5.7/</p>
<p>
        我用的是(CentOs6.5)下载的是:</p>
<p>
        <code>mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar文件</code></p>
<p>
        <span><strong>第二步:进行安装</strong></span></p>
<p>
        具体如下:</p>
<p>
        1. 检查系统自带的MySQL及相关RPM包,是否安装</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterps" id="highlighter_454182">
                        <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="ps plain">rpm </code><code class="ps keyword">-qa</code> <code class="ps plain">| grep </code><code class="ps keyword">-i</code> <code class="ps plain">mysql</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        如果有安装,则移除(rpm –e 名称)</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterps" id="highlighter_308096">
                        <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="ps plain">yum </code><code class="ps keyword">-y</code> <code class="ps plain">remove mysql</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. 创建用户和组(如果已经创建则跳过)</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterps" id="highlighter_820516">
                        <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="ps plain">groupadd mysql </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="ps plain">useradd </code><code class="ps keyword">-r</code> <code class="ps keyword">-g</code> <code class="ps plain">mysql mysql</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. 解压tar文件,并安装</p>
<p>
        进入文件目录 运行:<code>tar -xf mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar </code>解压完成,然后依次执行。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterps" id="highlighter_201304">
                        <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>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="ps plain">rpm </code><code class="ps keyword">-ivh</code> <code class="ps plain">mysql</code><code class="ps keyword">-community</code><code class="ps keyword">-common</code><code class="ps plain">-5.7.16-1.el6.x86_64.rpm </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="ps plain">rpm </code><code class="ps keyword">-ivh</code> <code class="ps plain">mysql</code><code class="ps keyword">-community</code><code class="ps keyword">-libs</code><code class="ps plain">-5.7.16-1.el6.x86_64.rpm </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="ps plain">rpm </code><code class="ps keyword">-ivh</code> <code class="ps plain">mysql</code><code class="ps keyword">-community</code><code class="ps keyword">-client</code><code class="ps plain">-5.7.16-1.el6.x86_64.rpm </code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="ps plain">rpm </code><code class="ps keyword">-ivh</code> <code class="ps plain">mysql</code><code class="ps keyword">-community</code><code class="ps keyword">-server</code><code class="ps plain">-5.7.16-1.el6.x86_64.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>
<p>
        4. 基础配置</p>
<p>
        执行:service mysqld start 出现下图表示安装成功</p>
<p>
        <img title="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" alt="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" src="https://zhuji.jb51.net/uploads/img/202305/f7cbff16e25b692f7bcf939f265a3d98.jpg"></p>
<p>
        关闭mysql服务:service mysqld stop</p>
<p>
        初始化(这里是以root身份执行的):bin/mysqld --initialize --user=mysql</p>
<p>
        <span><strong>注:</strong></span>使用–initialize会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root -p,然后输入密码来登录MySQL。使用–initialize-insecure不会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root –skip-password直接登录MySQL,这里我是用的第一种。</p>
<p>
        下面我们来看下root账户的随机初始密码,执行命令:vi /var/log/mysqld.log</p>
<p>
        <img title="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" alt="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" src="https://zhuji.jb51.net/uploads/img/202305/e437d84583acad354af59911324810d3.jpg"></p>
<p>
        启动mysql服务 : service mysqld start</p>
<p>
        登录:mysql -u root -p 并输入密码</p>
<p>
        <img title="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" alt="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" src="https://zhuji.jb51.net/uploads/img/202305/96bf5132c59e99814cf11cb20f514d34.jpg"></p>
<p>
        但是,我就是在这里遇到了问题,输入密码后提示 :Access denied for user ‘root'@'localhost' (using password: YES) 。百度了下,回答有很多 ,试了一下,过程如下:</p>
<p>
        首先关闭MySQL服务 :service mysqld stop</p>
<p>
        用mysqld_safe重启服务,执行:mysqld_safe --user=root --skip-grant-tables --skip-networking &amp;如果提示mysqld_safe A mysqld process already exists。执行ps -A|grep mysql显示当前进程,然后执行<br>
        kill -9 xxxx xxxx填上一步你查出的进程序号。然后执行就没问题了。</p>
<p>
        <img title="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" alt="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" src="https://zhuji.jb51.net/uploads/img/202305/ffe0c8a51148290210731243650a17e8.jpg"></p>
<p>
        执行 mysql -u root</p>
<p>
        <img title="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" alt="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" src="https://zhuji.jb51.net/uploads/img/202305/1b069f511c87a3bdaaba232ee194690f.jpg"></p>
<p>
        网上的很多说法是执行update user set password=PASSWORD('12345') where user='root';</p>
<p>
        我试了但是提示没有password这个字段,百度了下原来5.7版本后的 password 字段变成了authentication_string,执行update user set authentication_string=PASSWORD('12345') where user='root';果然可以。</p>
<p>
        然后 执行:flush privileges;</p>
<p>
        最后 :quit</p>
<p>
        再次登录 OK</p>
<p>
        <img title="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" alt="Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法" src="https://zhuji.jb51.net/uploads/img/202305/a565ca8025c38eefd26d2337f35c1706.jpg"></p>
<p>
        然后我想让root在其他主机上也能链接到此数据库</p>
<p>
        执行 :</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterps" id="highlighter_930484">
                        <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="ps plain">GRANT ALL PRIVILEGES ON *.* TO </code><code class="ps string">'root'</code><code class="ps plain">@</code><code class="ps string">'%'</code> <code class="ps plain">IDENTIFIED BY </code><code class="ps string">'mypassword'</code> <code class="ps plain">WITH</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        GRANT OPTION; 提示 You must reset your password ,意思是让我先重设一下密码(what the xxxx)。好吧,接着来。</p>
<p>
        密码重置,一样先关闭mysql 服务,依次执行:</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterps" id="highlighter_951825">
                        <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="ps plain">mysqld_safe -</code><code class="ps keyword">-user</code><code class="ps plain">=root -</code><code class="ps keyword">-skip</code><code class="ps keyword">-networking</code> <code class="ps plain">&amp; </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="ps plain">mysql </code><code class="ps keyword">-u</code> <code class="ps plain">root </code><code class="ps keyword">-p</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="ps keyword">SET</code> <code class="ps plain">PASSWORD = PASSWORD(</code><code class="ps string">'your new password'</code><code class="ps plain">); </code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="ps plain">ALTER USER </code><code class="ps string">'root'</code><code class="ps plain">@</code><code class="ps string">'localhost'</code> <code class="ps plain">PASSWORD EXPIRE NEVER; </code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="ps plain">flush privileges; </code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="ps plain">quit;</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <span>注:</span>新密码不能太简单,不然会提示密码过于简单,最好包含大小写字母,数字,特殊字符。</p>
<p>
        一切OK</p>
<p>
        执行 :</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlightersql" id="highlighter_350297">
                        <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 keyword">GRANT</code> <code class="sql color1">ALL</code> <code class="sql keyword">PRIVILEGES</code> <code class="sql keyword">ON</code> <code class="sql plain">*.* </code><code class="sql keyword">TO</code> <code class="sql string">'root'</code><code class="sql plain">@</code><code class="sql string">'%'</code> <code class="sql plain">IDENTIFIED </code><code class="sql keyword">BY</code> <code class="sql string">'mypassword'</code> <code class="sql keyword">WITH</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="sql keyword">GRANT</code> <code class="sql keyword">OPTION</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服务:service mysqld restart</p>
<p>
        测试通过。。。</p>
<p>
        以上所述是小编给大家介绍的Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!</p>
<p>
        原文链接:http://blog.csdn.net/qq_33663251/article/details/53671017</p>
頁: [1]
查看完整版本: Linux 使用rpm方式安装最新mysql(5.7.16)步骤及常见问题解决方法