分享

安装MYSQL环境(window/linux环境)(SQL 小虚竹)

 小虚竹 2023-06-16 发布于福建

回城传送–》《100天精通MYSQL从入门到就业》

文章目录

一、windows安装mysql

这里使用的mysql版本是8.0.30 ,操作系统是win11 64位。

下载

下载地址:传送门–》
在这里插入图片描述
这里有各种系统对应的版本,自选
在这里插入图片描述
以window安装为例,简单介绍下安装过程
下载安装包到本地
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

只安装mysql server

第一步:双击安装包
在这里插入图片描述

第二步:
选择server only
在这里插入图片描述

第三步:
点击execute
在这里插入图片描述
直接下一步,next
在这里插入图片描述

第四步:
点击execute
在这里插入图片描述
在这里插入图片描述

第五步:
直接下一步,next
在这里插入图片描述

第六步:
mysql 的默认端口是3306,有需求的话,可自定义,然后next
在这里插入图片描述
使用默认配置:next
在这里插入图片描述
第七步:
配置root账号的密码
在这里插入图片描述
直接next
在这里插入图片描述
第八步:
更新配置,点击execute
在这里插入图片描述

点击finish
在这里插入图片描述
第九步:
直接下一步,next
在这里插入图片描述
点击finish
在这里插入图片描述

客户端连接测试

使用navicat客户端连接
在这里插入图片描述
连接成功
在这里插入图片描述
在这里插入图片描述

二、linux安装mysql

这里使用的mysql 版本是8.0.30,操作系统是CentOS8 64位。

安装前的准备

关闭CentOS 防火墙

先查看防火墙状态

systemctl status firewalld

在这里插入图片描述
防火墙是关闭的,如果没有关闭,可以执行这命令:
关闭防火墙:

systemctl stop firewalld.service

开机不要自启动:

systemctl disable firewalld.service

关闭SELinux

编辑文件:/etc/selinux/config

SELINUX=disabled

为什么要关闭SELinux

经验之谈(那些年含泪填的坑)
SELinux开启可能导致mysql服务启动不了,遇到报错:

提示"mysql deamon failed to start"错误信息

检查了数据目录和日志目录的权限和所属用户,权限和所属用户都没问题,最后定位到是SELINUX的权限限制了,把它关了,就正常了!

创建MySQL用户和组

创建mysql 的HOME 目录

mkdir -p /home/mysql

在这里插入图片描述
创建mysql 组

groupadd mysql

在这里插入图片描述

创建mysql 用户,并指定组和默认路径

useradd  -r -d /home/mysql -g mysql mysql

在这里插入图片描述

将mysql默认路径的用户和组改成mysql

chown -R mysql:mysql /home/mysql

在这里插入图片描述

下载

下载地址:传送门–》
如图选择,然后下载到本地
在这里插入图片描述

然后把文件从本地复制至 /usr/local 目录下:
在这里插入图片描述

安装mysql

解压mysql安装包

tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz 

在这里插入图片描述
解压后的效果:
在这里插入图片描述
将解压后的mysql目录更名

mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql

在这里插入图片描述
设置目录所有者:

chown -R mysql:mysql /usr/local/mysql

配置环境

为MYSQL 配置环境,修改文件:

vi /etc/profile

最后加上这一行,保存文件:

export PATH=$PATH:/usr/local/mysql/bin

在这里插入图片描述
让新调整的配置生效:

source /etc/profile

在这里插入图片描述

创建数据目录

创建数据目录:

mkdir /usr/local/mysql/data

将数据目录用户和组调整为mysql:

chown -R mysql:mysql /usr/local/mysql/data

更改数据目录权限:

chmod 750 /usr/local/mysql/data

在这里插入图片描述

新建mysql配置文件

新建配置文件 /etc/my.cnf 并添加以下内容:

[mysqld]
server-id=1
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/data/error.log
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/data/mysql.pid
character-set-server=utf8
lower_case_table_names=1
innodb_log_file_size=1G
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[client]
port=3306
default-character-set=utf8

在这里插入图片描述

初始化数据库

mysqld --initialize --user mysql

在这里插入图片描述

报错:

mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

执行这行命令报错了,原因是:新的服务器环境,上面很多依赖都没有,所以安装软件的时候遇到一大堆小问题,解决它很简单,它缺少啥就安装啥。

解决方案:

yum install -y libaio.so.1

在这里插入图片描述

又报错了:

Errors during downloading metadata for repository 'epel':
Status code: 404 for http://archives.fedoraproject.org/pub/archive/epel/8/Everything/x86_64/repodata/repomd.xml (IP: **)
Error: Failed to download metadata for repo 'epel': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

原因是:第三方的镜像站中均已移除CentOS 8的源,Centos 8版本已停止更新相应依赖导致的,下载新的yum源即可搞定。
解决方案:
备份之前的repo文件,命令:

mv /etc/yum.repos.d /etc/yum.repos.d.bak

创建源文件目录,命令:

mkdir -p /etc/yum.repos.d

下载新的yum源

curl https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo > /etc/yum.repos.d/Centos-vault-8.5.2111.repo

curl https://mirrors.aliyun.com/repo/epel-archive-8.repo > /etc/yum.repos.d/epel-archive-8.repo

如图所示操作:
在这里插入图片描述

再下载依赖:

yum install -y libaio.so.1

在这里插入图片描述
在这里插入图片描述

再安装

yum install -y libaio

提示成功后,初始化数据库:

mysqld --initialize --user mysql

在这里插入图片描述

查看初始化日志,确认下mysql的root密码

cat /usr/local/mysql/data/error.log

在这里插入图片描述
看到这两行,说明初始化成功了

2022-09-24T10:01:13.679765Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-09-24T10:01:22.585131Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.

root用户的临时密码如图所示:7Xn5+后面打码的字符串

启动和关闭mysql数据库

启动mysql数据库

进入mysql目录:

cd /usr/local/mysql

启动数据库

support-files/mysql.server start

如图所示,启动成功!
在这里插入图片描述
查看mysql 状态:

support-files/mysql.server status

在这里插入图片描述

配置开机自启动

复制mysql.server 文件到/etc/init.d目录下

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

使用chkconfig 添加mysql服务到开机启动列表里

chkconfig --add mysqld

在这里插入图片描述

可使用systemctl 命令了,查看mysql数据库状态:

systemctl status mysqld

在这里插入图片描述
因为刚配置,这个mysqld服务未启动。
启动:

systemctl start mysqld

在这里插入图片描述
在这里插入图片描述

关闭mysql数据库

关闭mysqld服务

systemctl stop mysqld

在这里插入图片描述
在这里插入图片描述

第二种关闭方式

在这里插入图片描述

修改初始化数据库时的临时密码

进入mysql:

mysql -uroot -p

输入临时密码:
如果忘记了临时密码,从这边查找:

cat /usr/local/mysql/data/error.log

在这里插入图片描述

先修改临时密码:

alter user 'root'@'localhost' identified by 'xiaoxuzhu';

在这里插入图片描述
修改成功后,退出mysql:
在这里插入图片描述
使用新密码,尝试登录mysql:
在这里插入图片描述
登录成功;
使用临时密码,尝试登录,临时密码无效了。
在这里插入图片描述

第三种关闭方式

查看mysql服务状态:

support-files/mysql.server status

如果已关闭,请开启 再往下执行。
关闭mysql服务:

mysqladmin -uroot -pxiaoxuzhu shutdown

在这里插入图片描述

第四种关闭方式

进入mysql里,然后执行shutdown命令:

mysql -uroot -pxiaoxuzhu

shutdown;
quit;

在这里插入图片描述

客户端连接测试

新创建一个root用户针对外网访问的:

create user 'root'@'%' identified by 'xiaoxuzhu';

授予所有权限给root用户

grant all on *.*  to 'root'@'%';

刷新权限,不需要重启就让权限生效。

flush privileges;
在这里插入图片描述

虚竹哥用的是云服务器,所以还要开启云服务器的安全组,让指定的3306 端口通过。

如果云服务器有设置防火墙,防火墙要开启3306端口;

在这里插入图片描述

使用navicat客户端连接
在这里插入图片描述

三、参考

《mysql 数据库进阶实战》:第1章 1.2安装mysql数据库(linux环境)
报错解决方案:mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such
报错解决方案:Failed to download metadata for repo 'epel’: Cannot download repomd.xml: Cannot download …Status code: 404

我是虚竹哥,我们明天见~

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多