windows和linux安装mysql5.7.31保姆级教程

一,资源如下,里面有windows和linux版的安装软件,内含Visual C++2013中文版windows系统插件

  1. windows资源地址:https://download.csdn.net/download/l1o3v1e4ding/89725150
  1. linux(centos)资源地址:https://download.csdn.net/download/l1o3v1e4ding/89725151

二,windows系统安装mysql5.7.31

  1. 安装包下载
    https://downloads.mysql.com/archives/installer/

下载32位就可以,下面安装的时候合一选择系统的位数.

此处下载的是以msi结尾的文件,不是zip结尾的

  1. 安装步骤
    2.1 选择模式,此处选择的是自定义模式

2.2 根据自己的系统过滤模式

  1. 过滤后

  2. 将过滤出来的移动到右边

  3. 选择安装路径

  4. Excute安装

  5. 完成后点击Next

  6. 点击Excute进行安装

  7. 完成后点击Next

  8. 点击Next

  9. 默认即可,点击Next

  10. 默认即可,点击Next

  11. 设置用户名密码,点击Next

  12. 点击Next

  13. 点击Excute进行安装

  14. 完成后点击finish,这样Mysql就安装完成了

三,linux系统安装mysql5.7.31

  1. 卸载系统自带的mariadb
    我这里使用的是Centos7, 所以系统会自带Mariadb,需要先卸载掉,当然后面在安装mysql的过程中也会有提示

查询已安装的 Mariadb 安装包:

bash 复制代码
rpm -qa | grep mariadb

将所有的都卸载

bash 复制代码
yum -y remove xxx

我这里只有一个,如果有多个需要全部删除

  1. 下载mysql安装包 (https://www.mysql.com/downloads/)
    选择开源免费的社区版进行下载:

选择操作系统:

这里没有centos版本,选择红帽就好

我这里是Centos 7.9, x86架构:

根据[版本]下载第一个rpm捆绑包,图片是8.0的,实际下载是5.7.31的

捆绑包中会包含以下内容,就不用自己一个一个下载了

mysql-community-server数据库服务器和相关工具

mysql-community-clientMySQL客户端应用程序和工具

mysql-community-libsMySQL数据库客户端应用程序的共享库

mysql-community-common服务器和客户端库的通用文件

mysql-community-libs-compat以前的MySQL安装的共享兼容性库

3.正式进行安装

在 /opt 目录下新建mysql文件夹, 将下载的安装包推送到该目录下

在 /opt/mysql目录下解压安装包:

会将.tar文件变成 .tar.gz文件

bash 复制代码
gzip  mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar

解压

bash 复制代码
tar -zxvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar.gz

解压之后是:

mysql-community-embedded-devel-5.7.31-1.el7.x86_64.rpm

mysql-community-libs-5.7.31-1.el7.x86_64.rpm

mysql-community-client-5.7.31-1.el7.x86_64.rpm

mysql-community-server-5.7.31-1.el7.x86_64.rpm

mysql-community-embedded-5.7.31-1.el7.x86_64.rpm

mysql-community-embedded-compat-5.7.31-1.el7.x86_64.rpm

mysql-community-common-5.7.31-1.el7.x86_64.rpm

mysql-community-libs-compat-5.7.31-1.el7.x86_64.rpm

mysql-community-devel-5.7.31-1.el7.x86_64.rpm

mysql-community-test-5.7.31-1.el7.x86_64.rpm

前置检查

由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以需要给 /tmp 目录较大的权限。

bash 复制代码
chmod -R 777 /tmp

检查依赖:

命令1

bash 复制代码
rpm -qa|grep libaio

注:如果没有的话(上面有)需要执行 yum install -y libaio-devel.x86_64 进行安装

命令2

bash 复制代码
rpm -qa|grep net-tools

注:如果没有的话(上面有)需要执行 yum install net-tools 进行安装

开始安装

依次执行以下命令,注意一定要按顺序,因为会有依赖关系

rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

4.验证mysql是否安装成功:

bash 复制代码
mysql --version
rpm -qa | grep -i mysql

5.服务的初始化

为了保证数据库目录与文件的所有者为 mysql 登录用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化:

mysqld --initialize --user=mysql

说明: --initialize 选项默认以"安全"模式来初始化,则会为 root 用户生成一个密码并将 该密码标记为过期 ,登录后你需要设置一个新的密码。生成的临时密码 会在日志中记录一份。

查看密码:

bash 复制代码
cat /var/log/mysqld.log

6.启动mysql服务

bash 复制代码
systemctl start mysqld.service # 启动mysql服务
systemctl status mysqld.service # 查看mysql服务的状态

默认情况下mysql服务是开机自启的

bash 复制代码
 systemctl list-unit-files | grep mysqld.service

如不是enabled可以运行如下命令设置开机自启动

bash 复制代码
systemctl enable mysqld.service

7.登录mysql

用前面我们查看的密码进行登录

bash 复制代码
mysql -uroot -p

输入密码

8.重置密码

执行了一个命令提示我们要修改密码(因为初始化密码默认是过期的,所以查看数据库会报错)

修改密码

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123';

重新登录一下mysql即可

验证:查看数据库表数量

bash 复制代码
SELECT count(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA='dbname';

9.远程连接

云服务器上,开启防火墙3306端口

测试连接:失败

测试连接失败, 这是由于Mysql配置了不支持远程连接

Linux中不允许远程主机通过root用户登录问题

可以看到root用户对应的主机是localhost也就是自身主机

Host列指定了允许用户登录所使用的IP,比如User=root Host=192.168.1.1, 意思就是说root用户只能通过192.168.1.1的客户端去访问; User=root Host=localhost,表示只能通过本机客户端去访问。而 %是个通配符 ,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为"192.168.1."的客户端都可以连接。如果 Host=% ,表示所有IP都有连接权限。

注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置。

我们需要将mysql数据库user表中的root用户这个记录对应的主机进行修改

bash 复制代码
update user set host='%' where user='root';

修改成功

刷新一下权限:

bash 复制代码
flush privileges;

此时,再测试连接

新增用户admin命令:CREATE USER 'admin'@'%' IDENTIFIED BY 'Admin@123';

给admin用户权限:grant all privileges on . to 'admin'@'%' with grant option;

刷新一下权限:FLUSH PRIVILEGES;

  1. Centos7解决MySQL登录ERROR 1045 (28000) Access denied for user ''@'localhost' (using passwor)问题

步骤一:屏蔽权限,输入命令vim /etc/my.cnf打开配置文件;

步骤二:修改内容,在[mysqld]下末尾追加一行skip-name-resolve,如下图

然后保存退出。

步骤三:重启mysql服务,service mysqld restart

步骤四:登录mysql,输入mysql -u root mysql并回车,此时登录成功。

步骤七:上述成功之后,打开屏蔽权限,输入命令vim /etc/my.cnf打开配置文件;

删除[mysqld]下末尾一行的skip-name-resolve并保存退出。

步骤八:退出,用navicat或宝塔试试吧

相关推荐
毅凉5 分钟前
Linux笔记
linux·c语言·网络·数据库
weixin_4648381516 分钟前
grep命令如何实现正则表达式搜索?
linux·运维·服务器·网络安全·系统架构
栩日月27 分钟前
Linux学习记录十四----------线程的创建和回收
linux·数据结构·学习
岳轩子35 分钟前
linux安装jdk
java·linux·运维
星辰@Sea1 小时前
ZooKeeper远程连接超时排查与解决
linux·分布式·zookeeper
罗小爬EX1 小时前
MySql批量迁移数据库
数据库·mysql
吴半杯1 小时前
Mysql调优之性能监控(一)
java·linux·mysql
Wendy_robot1 小时前
远程连接MySQL并操作
linux·c++·mysql
WZF-Sang1 小时前
【MySQL】数据类型【mysql当中各自经典的数据类型的学习和使用】
linux·数据库·sql·学习·mysql·adb
不吃饭的猪1 小时前
mysql一主2从部署
android·mysql·adb