我们都是木头人 發表於 2020-11-28 20:53:00

CentOS 7 用yum安装 MySQL

<p>首先CentOS7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。</p>
<p><strong>1.列出所有被安装的rpm package</strong></p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ rpm -qa | grep mariadb
</pre>
</div>
<p><strong>&nbsp;2.卸载</strong></p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64// 注意“版本号”根据当前系统显示的版本信息的为准
</pre>
</div>
<p>&nbsp;卸载过程中如有以下提示,则可以通过强制卸载</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">错误:依赖检测失败:
libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
</pre>
</div>
<p>&nbsp;强制卸载:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64 // 只是多了一个--nodeps 参数,注意“版本号”根据当前系统显示的版本信息的为准
</pre>
</div>
<p><strong>&nbsp;3.安装依赖项</strong></p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ yum install vim libaio net-tools
</pre>
</div>
<p>&nbsp;其他情况:</p>
<p>  1.centos下yum暂时没有mysql-server直接安装包;</p>
<p>  &nbsp;&nbsp; MariaDB是MySQL社区开发的分支,也是一个增强型的替代品;</p>
<p><strong>  </strong>2.安装MariaDB</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ yum -y install mariadb-server mariadb mariadb-devel
$ systemctl start mariadb
$ systemctl enable mariadb
$ mysql_secure_installation
$ firewall-cmd --permanent --add-service mysql
$ systemctl restart firewalld.service
$ iptables -L -n|grep 3306
</pre>
</div>
<p><strong>&nbsp;4.安装 mysql的repo源</strong></p>
<p>  4.1 下载mysql的repo源</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
</pre>
</div>
<p>&nbsp; <strong>&nbsp;</strong> 4.2 安装mysql-community-release-el7-5.noarch.rpm包</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm<br>// 安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
</pre>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.3 安装 mysql</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ sudo yum install mysql-server
</pre>
</div>
<p>  根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。</p>
<p>  4.4 重置密码</p>
<p>    重置密码前,首先要登录</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ mysql -u root
</pre>
</div>
<p><strong> </strong> 4.5 mysql 登录报错处理</p>
<p>    登录时有可能报这样的错:</p>
<p>    ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),</p>
<p>    原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ sudo chown -R openscanner:openscanner /var/lib/mysql    // openscanner:openscanner 为当前登录CentOS的用户名,例如: root:root
</pre>
</div>
<p>&nbsp;   &nbsp;然后,重启服务:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ service mysqld restart
</pre>
</div>
<p>&nbsp;   接下来登录重置密码:</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ mysql -u root

mysql &gt; use mysql;

mysql &gt; update user set password=password(‘123456‘) where user=‘root‘;

mysql &gt; exit;
</pre>
</div>
<p><strong>&nbsp;5.开放防火墙 3306端口</strong></p>
<p>  5.1 查看防火墙状态</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ systemctl status firewalld
</pre>
</div>
<p> &nbsp;&nbsp; 5.2 开启防火墙 服务</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ systemctl start firewalld
</pre>
</div>
<p>  5.3 开放指定端口</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">// --permanent 永久生效,没有此参数重启后失效
$ firewall-cmd --zone=public --add-port=3306/tcp --permanent
或者
$ firewall-cmd --zone=public --add-port=3300-3399/tcp --permanent
</pre>
</div>
<p>  5.4 重新载入</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ firewall-cmd --reload
</pre>
</div>
<p>  5.5 查看状态</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ firewall-cmd --zone=public --query-port=3306/tcp
</pre>
</div>
<p>&nbsp;  5.6 删除某个开放的端口</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ firewall-cmd --zone=public --remove-port=80/tcp --permanent
</pre>
</div>
<p><strong>&nbsp;  5.7 iptables 防火墙</strong></p>
<p>    也可以还原传统的管理方式使用 iptables</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ systemctl stop firewalld
$ systemctl mask firewalld
</pre>
</div>
<p>&nbsp;  5.7.1&nbsp;安装 iptables-services</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ yum install iptables-services
</pre>
</div>
<p>&nbsp; &nbsp;&nbsp; 5.7.2&nbsp;设置开机启动</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ systemctl enable iptables
</pre>
</div>
<p>&nbsp;  5.7.3&nbsp;操作命令</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ systemctl stop iptables
$ systemctl start iptables
$ systemctl restart iptables
$ systemctl reload iptables
</pre>
</div>
<p>&nbsp;  5.7.4&nbsp;保存设置</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">$ service iptables save
</pre>
</div>
<p>&nbsp;  5.7.5&nbsp;放某个端口 在 /etc/sysconfig/iptables 里添加</p>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080
</pre>
</div>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/qiushuiwanyue/p/14054034.html
頁: [1]
查看完整版本: CentOS 7 用yum安装 MySQL