centos7 离线安装 mysql5.7
记一次踩坑流程(centos7 离线安装 mysql5.7 )
由于项目需要,需要在centos7下安装mysql5.7 。之前一直使用windows环境,对于linux的使用还不是很熟悉。踩了不少坑,在此记录下,避免遗忘。
一. 安装环境:
开始使用的是阿里云的学生轻量服务器,版本为centos7.5 ,安装好环境后,选择使用VMware来记录流程。
1. centos版本为7
在清华开源软件镜像站下载。
(https://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-2003.iso)
2. mysql版本为5.7
清华开源软件镜像站下载。
(https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar)
二. VMware虚拟机安装centos7.
在虚拟机安装完成centos7成功后,发现并不能连上网络,参考了大量教程,尝试重启电脑,重装VMware后,发现问题并没有得到改善。度娘,必应,google各大搜索引擎继续搜索,终于找到了能解决问题的方法,在此放上链接(http://www.shuchengxian.com/article/713.html)。
如果你发现你的模式为nat模式,centos7无法上网,可以参考一下我的解决办法。
下面写上解决办法:
1. 调整网络模式:虚拟机网络模式设置为桥接模式。
2. 网卡设置:配置contos7网卡设置
(1)打开配置文件,并进行修改
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将 ONBOOT=NO 修改为 ONBOOT=yes
(2)开启网卡服务,并设置自启动
systemctl restart network
systemctl enable network
三. mysql安装流程
1.linux安装wget用于下载安装包。
yun -y install wget
2.使用wget下载mysql安装包
(写到最下面才发现版本装错了,这里命令是对的,图片中略有瑕疵)
wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
贴上开源镜像站与官网下载的速度对比图:
3.下载完成之后会有如下文件
4.解压该文件,得到下图文件。
tar -xvf mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar
5. 使用rpm安装
- 查看是否已经安装了mysql
rpm -qa | grep mysql
出现上图即代表没有自带mysql,如果安装了请接着往下看两步。
- 查看是否已经安装mariadb
rpm -qa | grep mariadb
上图即代表安装了mariadb
- 卸载mariadb(如果上一步显示安装了mariadb才执行这一步,卸载自带的mysql同理)
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
如果你的版本跟我不同,请使用
rpm -e --nodeps 你的mariadb名称
- 按照指定顺序安装
rpm -ivh mysql-community-common-5.7.30-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.30-1.el6.x86_64.rpm
- 在安装最后一项即mysql-community-server-5.7.30-1.el6.x86_64.rpm时,你可能会遇到以下依赖错误,此时不要慌张。
- 依赖既然有问题,我们就一项一项的安装依赖,如上图,显示需要安装perl,以及。。。发现装错版本了。。。(包中 el6 centos6能用,centos 7应该安装el7)
不管了,先把perl的依赖装好。
yum -y install perl
.
卸载刚在安装的三个rpm包,再来过。
。。。。。。。。。。。。。
使用命令卸载
rpm -e --nodeps 上面已经安装的三个包
下好正确版本,nice!,看到下图,胜利就在眼前。
四.设置mysql
1. 启动mysql.
systemctl start mysqld
启动会花费一点时间,耐心等待一会,出现下图即为成功。
2.查看初始化的密码
cat /var/log/mysqld.log | grep password
出现密码,复制下来,一会儿有用。
3.登陆mysql
mysql -uroot -p
会提示输入密码,将刚才复制的密码粘贴上去,出现下图即成功进入数据库
使用 exit 可退出mysql。
4. 更改初始密码
此时这个密码十分复杂,我们可以更改简单一点的密码。
- 使用命令更改该文件,关闭密码规则,以达到可以使用弱密码。
vim /etc/my.cnf
如果没有该行,则添加该行。
- 重启mysql
systemctl restart mysqld
- 登陆mysql
同样使用之前的命令
mysql -uroot -p
输入最开始复制的密码进入数据库
- 使用命令更改密码
alter user 'root'@'localhost' identified by '123456'
将密码改成你想要的密码
5. 开启远程登陆
执行以下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.0.1,如要开启所有的,用%代替IP):
grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
然后再输入下面两条命令
flush privileges;
exit;
6.为firewalld添加开放端口
- 添加mysql端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
- 重新载入
firewall-cmd --reload
7. 修改mysql的字符编码
- 显示原来编码:
show variables like '%character%';
- 修改/etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'