啦啦啦噜啦啦 發表於 2019-5-17 02:13:00

Linux CentOS上安装 MySQL 8.0.16

<h2>前言:</h2>
<p>  因为我需要在我新安装的Linux CentOS系统服务器中安装和配置MySQL服务器,然而对于我们这种Linux使用小白而言在Linux系统中下载,解压,配置MySQL等一系列的操作还是有些耗时间的。所以小编本次准备使用yum命令在Linux CentOS系统中安装MySQL服务器和使用其他命令配置MySQL服务器的相关配置(纯命令操作),这样子我们只需要输入一些简单的命令即可,当然你也可以下载压缩包自己完成一些初始化的配置与安装。使用这种方式的话大家可以参考一些博客进行安装,该篇博客写的相当的详细:https://blog.csdn.net/github_39533414/article/details/80144890。</p>
<h2>第一步:查看系统中是否已存在MySQL,若存在则选择删除</h2>
<p>这里我就不详细讲解了,大家可以看我的上一篇博客,关于如何彻底删除MySQL数据库</p>
<p>地址:https://www.cnblogs.com/Can-daydayup/p/10873948.html</p>
<h2>第二步:下载并安装MySQL数据库</h2>
<p>官网下载地址:https://dev.mysql.com/downloads/repo/yum/</p>
<p>选择red hat版:</p>
<p><img src="https://img2018.cnblogs.com/blog/1336199/201905/1336199-20190516170316784-1550043835.png" alt="" width="1180" height="477"></p>
<p>&nbsp;</p>
<p>&nbsp;复制下载地址:</p>
<p><img src="https://img2018.cnblogs.com/blog/1336199/201905/1336199-20190516170409793-683964699.png" alt=""></p>
<p>&nbsp;</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">1.下载镜像

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2.安装镜像

rpm -ivh mysql80-community-release-el7-3.noarch.rpm

3.升级系统上的MySQL软件包
通过以下命令升级MySQL及其相关组件:

方案一.指定更新MySQL服务器(推荐使用):
yum update mysql-server

方案二.通过更新系统上的所有内容来更新MySQL(谨慎使用):
注意,这个方法需要谨慎使用,一般是在空白服务器的时候可以使用,因为有可能会把你系统中的其他软件都给升级了
yum update

4.安装MySQL服务

yum install mysql-server</pre>
</div>
<p><span style="font-size: 16px"><strong>使用Yum存储库升级MySQL软件包官网概述:https://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/updating-yum-repo.html</strong></span></p>
<h2>第三步:MySQL文件权限设置</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">chown mysql:mysql -R /var/lib/mysql
</pre>
</div>
<h2>第四步:初始化MySQL</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">mysqld --initialize</pre>
</div>
<h2>第五步:启动MySQL服务并设置开机自动启动</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">#启动<br>systemctl start mysqld<br><br>#设置开机自动启动</pre>
<p>&nbsp; &nbsp;systemctl enable mysqld</p>
<p> systemctl daemon-reload</p>
</div>
<p>注意:我在启动MySQL服务的时候提示:</p>
<blockquote>
<p>Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.</p>
</blockquote>
<p>我认为可能和我之前系统安装过MySQL有关系,解决方法:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">chown mysql:mysql -R /var/lib/mysql

在启动:

service mysqld start
</pre>
</div>
<p>查看运行状态:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">systemctl status mysqld</pre>
</div>
<p>完美运行:</p>
<p><img src="https://img2018.cnblogs.com/blog/1336199/201905/1336199-20190516172704551-116570653.png" alt=""></p>
<h2>第六步:查看当前MsSQL安装版本</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">mysqladmin --version
</pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1336199/201905/1336199-20190516172842617-52558576.png" alt=""></p>
<h2>第七步:设置数据库密码</h2>
<p>原因:在安装完成MySQL后不会默认设置密码,需要我们自己设置</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">mysqladmin -u root password "你的密码"
</pre>
</div>
<p>&nbsp;</p>
<p>我真是一个被老天眷顾的孩子,设置密码是遇到了一个这样的问题:</p>
<blockquote>
<p><strong>ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)</strong></p>
<p>一般这个错误是由密码错误引起,解决的办法自然就是重置密码</p>
<p>解决方案如下:</p>
<p>1.停止mysql数据库:systemctl stop mysqld</p>
<p>&nbsp;</p>
<p>2.用以下命令启动MySQL,以不检查权限的方式启动:</p>
<p>mysqld --skip-grant-tables &amp;</p>
<p>如果上面的命令无效报错,则执行下面这段命令:</p>
<p>mysqld --user=root --skip-grant-tables &amp;</p>
<p>&nbsp;</p>
<p>3.登录mysql:mysql -u root -p或mysql</p>
<p>&nbsp;</p>
<p>4.更新root密码:</p>
<p>ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';</p>
<p>修改密码的时候提示:</p>
<p><strong>ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement</strong></p>
<p>解决方法:</p>
<p><strong>刷新权限:flush privileges;</strong></p>
<p>&nbsp;</p>
<p>5.刷新权限:flush privileges;</p>
<p>&nbsp;</p>
<p>6.退出mysql:exit或quit</p>
<p>&nbsp;</p>
<p>7.使用root用户重新登录mysql</p>
<p>mysql -uroot -p</p>
<p>Enter password:&lt;输入新设的密码123456&gt;</p>
</blockquote>
<h2>第八步:开启MySQL远程</h2>
<p>1.登陆数据库</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">mysql -u root -p</pre>
<pre class="brush:csharp;gutter:true;">然后输入密码按回车进入MySQL数据库中</pre>
</div>
<p>2.创建用户用来远程连接:参考该篇博客:</p>
<p>https://jingyan.baidu.com/article/363872ec3263236e4ba16f07.html</p>
<p><br>3.查询数据库的用户</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;</pre>
</div>
<p>4. 更新用户表:(其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可)</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
</pre>
</div>
<p>5. 强制刷新权限:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">flush privileges;
</pre>
</div>
<p>6.使用Navicat连接数据库:</p>
<p><img src="https://img2018.cnblogs.com/blog/1336199/201905/1336199-20190517020350903-482553612.png" alt=""></p>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    <blockquote >
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'><span style='font-size: 17px; '>作者名称:</span>追逐时光者</p>
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'><span style='font-size: 17px; '>作者简介:</span>一个热爱编程、善于分享、喜欢学习、探索、尝试新事物和新技术的全栈软件工程师。</p>
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'>
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如果该篇文章对您有帮助的话,可以点一下右下角的【&hearts;推荐&hearts;】,希望能够持续的为大家带来好的技术文章,文中可能存在描述不正确的地方,欢迎指正或补充,不胜感激。
</p>
</blockquote><br><br>
来源:https://www.cnblogs.com/Can-daydayup/p/10877500.html
頁: [1]
查看完整版本: Linux CentOS上安装 MySQL 8.0.16