centos7系统安装MySQL
- 服务器版本为CentOS Linux release 7.7.1908
1.安装mysql数据库
1.1卸载mariadb
安装MySQL会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。
打开终端,通过以下指令查看 mariadb安装包
rpm -qa | grep mariadb
再执行以下指令将安装包删除,其中包名来自于上一条指令的查询结果。
rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
1.2下载mysql安装包
数据库下载地址: 下载
因为我的系统是装有视图界面的,所以直接在系统里面下载。没有视图界面的可以在Win系统上下载后用FTP等工具传过去。
1.3解压安装mysql
用cd指令切换到mysql安装包目录(如果目录是中文名称重命名为英文)
mkdir Downloads #创建一个文件夹,用来存放下载文件
cd Downloads
解压安装包(解压包名称以实际下载为准)
tar -xvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar
通过rpm -ivh指令依次安装common,libs,client,server这四个安装包,顺序不能乱,因为相互有依赖关系。安装包文件名是自己解压后的文件名。
rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm
1.4配置mysql
通过以下命令,完成对 mysql 数据库的初始化和相关配置
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
1.5修改数据库密码
通过以下指令,查看root默认的密码(随机生成的)
cat /var/log/mysqld.log | grep password
通过以下指令,输入上条指令查看到的密码(可以复制粘贴,输入的密码是隐藏的看不到长度的),登录进入mysql
mysql -uroot -p
通过以下指令来修改root账号的密码,注意123456是我设置的密码,部署的时候自己设置一个密码(密码后面一点要加“ ;”)。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
修改后可以自己退出检测以下,exit;指令退出mysql。-p后面带自己的密码重新登录mysql
exit;
mysql -uroot -p123456
1.6远程访问授权
通过以下指令,允许远程访问,注意’123456’是自己的密码
create user 'root'@'%' identified with mysql_native_password by '123456';
通过以下指令,配置远程访问的权限,all指所有权限。
grant all privileges on *.* to 'root'@'%' with grant option;
通过以下指令,命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。同样的’123456’是自己的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
通过以下指令,刷新权限相关表
flush privileges;
最后退出mysql
exit;
2.安装和设置iptables 防火墙
2.1关闭firewalld防火墙
systemctl stop firewalld.service;
systemctl disable firewalld.service;
systemctl mask firewalld.service;
2.2安装iptables
通过以下指令,安装iptables防火墙(需要连接外网)
yum -y install iptables-services
安装完成后设置一下开机启动
systemctl enable iptables;
systemctl start iptables;
2.3配置iptables
以下指令编辑防火墙配置
vi /etc/sysconfig/iptables
按“Insert”或者“i”键进入编辑模式,进入编辑模式后,添加以下内容(3306为MySQL端口)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8090 -j
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j
添加之后如图所示
完成后按ESC退出编辑模式,按Shift+;输入“:wq”表示保存退出。
重启防火墙使配置生效
systemctl restart iptables.service
设置防火墙开机启动
systemctl enable iptables.service
设置完成后,外部设备就可以连接mysql了。
3.连接mysql
在win系统下用的是navicat连接mysql,前提该win系统能够ping得通Linux服务器的IP地址。
navicat官网下载地址: 下载
安装完成后运行,点击连接,选择mysql
连不上的话试试重启下mysql服务
service mysqld restart
3.1导入数据
在新建的连接下右键,新建数据库,命名为test(名称自己取)确定,如图:
双击打开test,然后右键运行SQL文件,数据导入完成后Linux的数据库就有相应的数据了。