Centos7离线安装MySQL
1、下载解压安装包
下载MySQL对应安装包:
mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
perl.tar.gz
net-tools.tar.gz
链接:https://pan.baidu.com/s/16YazLDkL9ZyrtuNKazJ5Lg
提取码:052y
2、将下载好的安装包导入
解压安装包
tar zxvf mysql.tar.gz
将mysql安装包解压出来会出现三个包,依次解压
tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
tar zxvf perl.tar.gz
tar zxvf net-tools.tar.gz
3、卸载mariadb
查询:rpm -qa|grep mariadb
卸载:rpm -e --nodeps mariadb-libs
4、离线安装包 perl
切换到root perl目录下,执行命令
cd /root/perl
rpm -ivh *.rpm
因为本人安装的ssh客户端中文是乱码,所以在底下在执行了:
export LANG=zh_CN.UTF-8
设置了临时编码使为 UTF-8
接下来切换到net-tools目录接着执行命令安装
cd /root/net-tools
rpm -ivh net-tools-2.0-0.24.20131004git.el7.x86_64.rpm
最后在切换root安装mysql
cd /root
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
依次执行命令
5、关闭mysql服务
service mysqld stop
6、修改配置文件
安装完mysql安装包etc底下会有一个my.cnf文件。我们只需要在里面配置一下就可以了
vi /etc/my.cnf
加入以下配置
skip-grant-tables
接着保存退出文件
7、重启mysql服务
service mysqld start
完成以上操作mysql就安装成功了。接下来就是配置一下mysql密码以及访问ip
8、登录mysql
mysql -u root -p
出现password直接回车就可以了
9、设置mysql密码
flush privileges;
set password for root@localhost = password('123456');
flush privileges;
exit;
(password('123456')根据自己需要的密码进行修改)
10、停止mysql服务
service mysqld stop
vi /etc/my.cnf 进入文件注释了刚才加入的配置 skip-grant-tables
启动mysql服务并验证 (根据第七个步骤)
最后设置一下开启自启
systemctl enable mysqld
11、mysql配置允许IP访问
登录mysql
mysql -uroot -p
首先查询用户表
use mysql;
select host, user from user;
更新只允许此IP能访问数据库
update user set host ='IP地址' where host='%';
给此ip赋值权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
刷新权限
flush privileges;
大功告成,接下来你会尝试在 Navicat premium 去连接,你会发现在;连接不上。
原因是你的防火墙并没有开放端口,这边你可以选择关闭防火墙
systemctl stop firewalld.service
也可以配置CentOS7防火墙快速开放端口
开启端口: firewall-cmd --zone=public --add-port=3306/tcp --permanent
查询端口号3306是否开启: firewall-cmd --query-port=3306/tcp
重启防火墙: firewall-cmd --reload
查询有哪些端口是开启的: firewall-cmd --list-port
命令含义:
--zone #作用域
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
现在在用 Navicat premium 去连接,就大功告成