Linux配置MySQL环境(三)

news/2024/11/23 5:08:46/

Linux配置MySQL环境

  • 一、下载
    • 1. 官网下载MySQL
    • 2. 百度网盘快速下载MySQL
  • 二、安装
    • 1、通过 Xftp 将 MySQL 安装包拷贝到 Linux
    • 2、解压缩
    • 3、安装 common、libs、client、server
    • 4、初步连接
  • 三、卸载
  • 四、常用设置
    • 1. 修改 root 用户密码
  • 五、使用新密码登录
  • 六、开启远程访问
  • 七、开放 3306 端口
  • 八、MySQL 安装默认使用美国的时区,北京时间比美国晚 8 小时

一、下载

1. 官网下载MySQL

官网:https://www.mysql.com/

进入官网之后点击 DOWNLOADS

在这里插入图片描述

进入页面 ( 在这里我们选择社区版) ,点击 MySQL Community (GPL) Downloads »

在这里插入图片描述

这里选择 Download Archives

在这里插入图片描述

进入页面,选择 MySQL Community Server

在这里插入图片描述

根据你服务器的配置选择,我服务器是 CentOS 7 所以 Operating System 选择 Red Hat Enterprise Linux / Oracle Linux ,OS Version 选择 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86,64-bit),选择第一个点击 Download 下载。

在这里插入图片描述


2. 百度网盘快速下载MySQL

以下我也提供了 MySQL 的安装包供大家使用:
链接:MySQL 8 Linux 百度网盘下载
提取码:1ef8


二、安装

1、通过 Xftp 将 MySQL 安装包拷贝到 Linux

cd 到 local 文件夹

cd  /usr/local

创建mysql文件夹

mkdir mysql

然后上传之前下载好的 Linux 下 MySQL 的安装包,使用 rz 命令(有些终端工具是可以直接上传文件的,比如 FinalShell)

(PS : 本文中,我就是使用FinalShell把文件拖入到mysql文件夹中的

在这里插入图片描述
ls查看

在这里插入图片描述

2、解压缩

在该目录下再创建一个 mysql-8.0.26 文件夹,并且将安装包解压到该文件夹中

# 在当前目录下(mysql)下创建一个 mysql-8.0.26 文件夹
mkdir mysql-8.0.26
# 解压安装包到该目录下 
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.26

PS: 为什么命令没有加’z',写成‘tar -zxvf’ ; 是因为这个文件不是gz压缩包。

解压后如图:

在这里插入图片描述

解压完成之后可以切换到 mysql-8.0.26 目录下查看解压后的文件

在这里插入图片描述

3、安装 common、libs、client、server

删除自带的 mariadb
先查看系统有没有mariadb。 (PS:如果自带的没有删除直接安装,后面安装common、libs、client、server可能会报错)

rpm -qa | grep mariadb

在这里插入图片描述

输入如下指令删除

rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

输入如下安装命令行,安装common、libs、client、server


rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm  --nodeps --forcerpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm --nodeps --forcerpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm --nodeps --forcerpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm --nodeps --forcerpm -ivh  mysql-community-devel-8.0.26-1.el7.x86_64.rpm --nodeps --forcerpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm --nodeps --forcerpm -ivh  mysql-community-server-8.0.26-1.el7.x86_64.rpm --nodeps --force

如下图所示:

在这里插入图片描述

PS注意: 如果有冲突,命令后面加上这个命令:

--nodeps 表示不检查依赖关系,即忽略依赖关系进行升级。
--force 表示强制进行升级,即强制覆盖原有软件包。
例如:
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm --nodeps --force

4、初步连接

输入如下代码, 初始化MySQL。注意是mysqld

mysqld --initialize

rpm 安装 MySQL 会自动生成一个随机密码,可在 /var/log/mysqld.log 这个文件中查找该密码

在这里插入图片描述

  1. 授权防火墙
    按顺序输入如下指令
1.目录授权
chown mysql:mysql /var/lib/mysql -R; 2.启动mysql服务
systemctl start mysqld.service;3.设置MySQL服务在系统重启后自动启动
systemctl enable mysqld;

在这里插入图片描述

6、查看数据库的初始化密码
输入指令

# 获取MySQL临时密码 (本次我使用的这个)
grep 'temporary password' /var/log/mysqld.log    
或者
cat /var/log/mysqld.log | grep password

在这里插入图片描述

7、登录数据库
输入指令

mysql -uroot -p

然后再复制上面的密码

在这里插入图片描述

注意:写了密码后密码是不显示的,不要以为自己没有写入



三、卸载

卸载 MySQL 前需要先停止 MySQL

停止命令:

systemctl stop mysqld

停止 MySQL 之后查询 MySQL 的安装文件:

rpm -qa | grep -i mysql

在这里插入图片描述

卸载上述查询出来的所有的 MySQL 安装包

rpm -e mysql-community-client-5.7.27-1.el7.x86_64 --nodeps
rpm -e mysql-community-client-plugins-8.0.32-1.el7.x86_64 --nodeps
rpm -e mysql-community-libs-8.0.32-1.el7.x86_64 --nodeps
rpm -e mysql-community-devel-8.0.32-1.el7.x86_64 --nodeps
rpm -e mysql-community-server-8.0.32-1.el7.x86_64 --nodeps
rpm -e mysql-community-common-8.0.32-1.el7.x86_64 --nodeps
rpm -e mysql-community-libs-compat-8.0.32-1.el7.x86_64 --nodeps
rpm -e mysql-community-client-8.0.32-1.el7.x86_64 --nodeps

删除MySQL的数据存放目录

rm -rf /var/lib/mysql/

删除MySQL的数据存放目录

rm -rf /etc/my.cnf.rpmsave

四、常用设置

1. 修改 root 用户密码

如果你觉得 MySQL 自动生成的密码太难记忆的话,可以连接 MySQL 之后进行修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

在这里插入图片描述
这里可能会提示 Your password does not satisfy the current policy requirements,意思是您的密码不符合当前规定的要求,你要么就把你的密码设置得复杂点,要么就去降低密码的校验规则。

在 Linux 上安装 MySQL 时会自动安装一个校验密码的插件,默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。修改密码时新密码是否符合当前的策略,不满足则会提示ERROR

官网上能查到这个密码校验的规则,文档中搜索:validate_password

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

所以可以将这个限制密码位数设小一点,复杂度类型调底一点

# 将密码复杂度校验调整简单类型
(当validate_password.policy为0时,表示不进行密码复杂度校验,任何长度的密码都可以通过校验。)
set global validate_password.policy = 0;# 设置密码最少位数限制为 4set global validate_password.length = 4;

在这里插入图片描述

PS:注意虽然更改了默认的密码校验难度和长度 (比如默认为8位,改成了4位。难度改成0) ,但是在第一次重新设置密码时候,
可能仍然出现错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,此时必须第一次设置密码长度为8位才不报错,更改密码成功后才能查看validate_password插件的以下参数,当然,validate_password插件必须已经安装,MySQL5.7是默认安装的。

参考:MySQL 8 密码校验设置调整说明

在这里插入图片描述

简单的密码设置成功

在这里插入图片描述

查看MySQL数据库中与密码验证相关的变量 【☆☆☆

SHOW VARIABLES LIKE 'validate_password%';

在这里插入图片描述


五、使用新密码登录

退出mysql , 输入exit;命令

exit;

输入指令重新登陆

mysql -uroot -proot

在这里插入图片描述

六、开启远程访问

默认的 root 用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个新的账户,用于远程访问

语法格式:CREATE USER <用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>

# mysql 8.0 以下
create user 'root'@'%' IDENTIFIED BY '2023root';
# mysql 8.0
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '2023root';

按顺序执行如下代码

# 1.创建新的用户 用来远程访问
create user 'root'@'%' identified with mysql_native_password by '2023root';# 2.授权root用户所有的权限( '并且加上 with grant option ,表示该用户可以授予权限给其他用户 ')
grant all privileges on *.* to 'root'@'%' with grant option; (或者输入这个命令, 也是授权所有权限,不过不可给其他用户授权:grant all on *.* to 'root'@'%';)# 3.使修改的设置生效(并且不需要重启MySQL服务)
flush privileges;

步骤图如下:

PS: mysql8.0 的默认密码验证不再是 password 。所以在创建用户时,create user ‘username’@‘%’ identified by ‘password’; 客户端是无法连接服务的,所以在创建用户的时候需要加上 WITH mysql_native_password

在这里插入图片描述

创建完用户之后还需要给用户分配权限,这里我将 root 这个用户分配了所有的权限

在这里插入图片描述

设置生效

在这里插入图片描述

七、开放 3306 端口

先输入 exit; 退出mysql,然后按顺序输入如下代码 【☆☆☆

# 1.用于将 TCP 端口 3306 添加到防火墙的公共区域(public zone),
# 以便允许外部流量访问 MySQL 数据库。--permanent 选项表示修改将永久生效,即使系统重新启动。firewall-cmd --zone=public --add-port=3306/tcp --permanent# 2.用于重启防火墙服务,以便使之前的修改立即生效。
systemctl restart firewalld.service# 3.用于重新加载防火墙配置文件,以便使之前的修改立即生效。它与重启防火墙服务的效果相同,但是不会停止或重新启动防火墙服务。
firewall-cmd --reload

在这里插入图片描述

八、MySQL 安装默认使用美国的时区,北京时间比美国晚 8 小时

先输入mysql -uroot -p 登录数据库,

mysql -uroot -p

再执行如下代码


set global time_zone='+8:00';

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/287379.html

相关文章

数据结构——绪论/线性表

文章目录 **一 基本概念****二 算法和算法评价****三 线性表的定义和基本操作****四 线性表的顺序表示****1 定义****2 基本操作** **五 线性表的链式表示****1 单链表的定义****2 单链表的基本操作实现****3 双链表****4 循环链表****5 静态链表** 一 基本概念 数据类型&…

华为采取饥渴营销很无奈,三星和苹果成为最大赢家

华为近期推出的mateX2上线销售仅1分钟就售罄&#xff0c;而无良商家更是加价2万出售这款手机&#xff0c;被人质疑饥渴营销&#xff0c;导致如此结果实属无奈&#xff0c;它如此做让三星和苹果成为最大赢家。 在折叠手机市场&#xff0c;三星取得绝对领先优势&#xff0c;统计数…

三星PM981/PM981a硬盘安装黑苹果(第六版)

三星PM981/PM981a硬盘安装黑苹果 问题描述解决思路思路一思路二 安装方法方法一——打补丁方法二——备份还原方法三——分区拷贝 注意事项下次更新出详细教程&#xff0c;教程请参见我的同名博客(第五版) 使用前请先完整阅读本文章&#xff0c;否则可能导致安装失败 问题描述 …

创新能力哪家强?三星Note8 VS. 苹果iPhone X

火星撞地球&#xff0c;手机圈上演年度大戏 要说最近手机圈的年度大戏&#xff0c;莫过于两大新旗舰——苹果iPhone X和三星Note8的“火星撞地球”了。说来也巧&#xff0c;苹果iPhone X和三星Note8的国行版&#xff0c;居然不约而同都选择了在北京时间9月13日发布。两大老对手…

三星苹果诺基亚齐推廉价智能机 抢食中印市场

网易科技讯 8月25日消息&#xff0c;据路透社报道&#xff0c;全球最大的两家手机厂商&#xff0c;诺基亚和三星24日同时发布了最新廉价版智能手机&#xff0c;以期抵御苹果即将发布的廉价iPhone 4的冲击。 消息人士本周向路透社透露&#xff0c;苹果公司不久将推出低成本的廉…

三星PM981(a)硬盘安装黑苹果(第五版)

三星PM981/PM981a硬盘安装黑苹果 使用前请先完整阅读本文章&#xff0c;否则可能导致安装失败 PM981 1.判断硬盘厂商&#xff0c;前往官网查看品牌机驱动下载页微码一栏是否有SSD新固件&#xff0c;有则尝试升级 2.在/EFI/clover/kexts/other/目录下添加NVMeFix.kext&#xff0…

扫雷小游戏 2.0版本

游戏名称&#xff1a; 扫雷小游戏2.0 游戏操作&#xff1a; 详情请见&#xff1a;主页->专栏->小游戏->扫雷小游戏1.0->游戏操作 创作背景&#xff1a; 昨天才说大概要8.21之后更新&#xff0c;但由于我提高组模拟赛爆0 ak了入门组模拟赛&#xff0c;所以 提前…

Zikko上市同时搭载HDMI2.1和2.5GbE新款雷电4扩展坞

近日&#xff0c;专注Thunderbolt技术产品的Zikko&#xff08;即刻&#xff09;推出新款雷电4扩展坞&#xff0c;它拥有高达11个数据端口&#xff0c;搭载英特尔8000系列认证芯片&#xff08;代号JHL8440&#xff09;&#xff0c;支持40Gbps高速传输&#xff0c;并带有96W PD快…