您的位置:首页 > 运维架构 > Linux

[我的linux之路]在CentOS6.8(32位)中通过yum安装mysql5.7

2017-02-19 00:00 651 查看
前言

记录我的linux之路,作为以后备查,也希望遇到同样问题的猿,不要踩坑.
昨天发的[我的linux之路]安装CentOS6.8(32位) 中已经把CentOS6.8安装完成了,同时网络也已经配置正常了.

今天记录[我的linux之路]在CentOS6.8(32位)中通过yum安装mysql5.7操作直接在SSH终端中进行,CentOS6.8中已经预装了SSH Server,同时22端口也已经在iptables里面配置好了.

我用的SSH终端是Xshell5,这是一个很好用的SSH终端,不过新版好像要付费了.

准备

在Xshell5中通过SSH链接并登陆CentOS



新建链接,协议选择SSH,主机填上ip,端口22确定即可,
如果想要记住密码并自动登录,点一下用户身份验证,方法选择password,填上用户名和密码确认即可.

下载mysql5.7

参考文章:CentOS6.5安装MySQL5.7详细教程
URL链接:http://www.cnblogs.com/lzj0218/p/5724446.html

进入mysql官网yum下载页mysql yum下载



鉴于CentOS和RedHat的关系,CentOS直接按照RedHat选择版本即可,看到支持6.x版本的是mysql57-community-release-el6-9.noarch.rpm



这两天oracle官网我一直登不上,所以无法直接从官网获取到下载地址了,参考文章CentOS6.5安装MySQL5.7详细教程的链接,更换版本号即可得到链接地址为http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm,不过按照这个博客中的说法我们应该使用mysql57-community-release-el6-8.noarch.rpm,两个版本我都试了没什么问题.这里要注意的是6-8和6-9的文件名mysql后面加了一个57.

现在我们可以在CentOS中直接下载,或者在Windows中用迅雷下载好了,在用FTP上传到CentOS中.
在用户目录下新建一个文件夹,作为临时文件存放位置,然后进入目录:

mkdir ~/file
cd ~/file

然后使用wget下载文件,wget程序在CentOS6.8中已经预装好了

wget http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm

安装mysql5.7

现在需要的文件已经准备齐全了,可以开始正式安装了.
一.先检查系统中是否已经安装了其他版本的mysql,将其卸载.

yum list installed | grep mysql
mysql-libs.i686         5.1.73-7.el6      @anaconda-CentOS-201605211917.i386/6.8
yum -y remove mysql-libs.i686

二.安装mysql5.7软件源,就是下载的那个文件,这个文件只是mysql的软件源,并不是软件本身

yum localinstall mysql57-community-release-el6-8.noarch.rpm

三.使用yum安装mysql5.7

yum install mysql-community-server

后续配置
一.启动mysql服务

service mysqld start

二.查看随机生成的root用户密码,按其他博客文章的内容说是必须马上修改密码,否则会出错,而且随机密码不好记的,那就改了吧.

grep "password" /var/log/mysqld.log
2017-02-19T16:35:15.318711Z 1 [Note] A temporary password is generated for root[@localhost](https://my.oschina.net/u/570656): af5B8v5gpU.e

根据这个信息可以看出,我的随机密码就是af5B8v5gpU.e
使用这个密码登录mysql

mysql -u root -p

三.修改密码

set password for 'root'@'localhost' = password('123456');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

看到报错,说是密码不符合安全要求
参考文章:(ERROR 1819 (HY000): Your password does not satisfy the current policy requirements)
URL链接:http://www.cnblogs.com/ivictor/p/5142809.html
我的密码当然不可能是123456,那为什么还不符合要求呢.
按这个文章中提示,密码必须含有数字,小写或大写字母,特殊字符.
我曾经用过一个mysql工具,密码中包含特殊字符就无法使用,所以我的密码中并不打算用特殊字符.
因为我只是要求密码中不包含特殊字符而已,所以只需要改一个参数即可:

set global validate_password_policy=0;

现在在修改密码就没问题了

set password for 'root'@'localhost' = password('12345678');

四.查看mysqld是否开机自启动,并设置为开机自启动

chkconfig --list | grep mysqld
chkconfig mysqld on

五.配置防火墙iptables,使mysql可以通过网络访问

vim /etc/sysconfig/iptables

修改配置文件

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

增加3306那一行即可,如果远程操作,一定要小心,在22那一行下面加一行就可以了,如果改错了导致22端口无法访问,又不方便到主机上操作那就悲催了.
改完了使用:wq保存并退出
然后重启iptables即可

service iptables restart

六.修改root账号访问域
修改完防火墙,3306端口在远程访问是没问题了,但是我们依然还登录不了,因为我们的root账号访问域只能本机访问.

mysql -u root -puse mysql;
select * from user;
update user set Host='%' where User = 'root';
quit;
service mysqld restart

在本机登录mysql,修改root用户的Host字段为%即表示所有ip都可以连接了,退出mysql,并重启mysql服务,就可以正常的在其他电脑连接mysql了.

到此mysql安装已经全部完成了,并且已经配置为其他主机也可正常访问了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 数据库 MySQL