mysql部署(1)单节点安装卸载

以8.0.36版本为例

一、下载安装

1、准备工作

(1)查看系统版本

cat /etc/redhat-release

  

(2)查看是否安装了 MySQL

rpm -qa | grep mysql

查看是否有安装 mariadb,该软件与 MySQL 数据库有冲突,需要手动卸载

# 如果是 CentOS7 可以检测出已经安装了 mariadb
rpm -qa | grep mariadb

如果安装过

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
2、下载

(1)进入MySQL :: MySQL Community Downloads

点击MySQL Community Server


(2)选择 MySQL 的版本,注意 MySQL 的版本需要与 Linux 的版本对应上,如我选择

   筛选后在列表中选择tar包

  

(3)点击download,此时有两种方法

  • 第一种,直接点击 No thanks, just start my download 进行下载,然后通过上传工具上传到服务器
  • 第二种,右键 No thanks, just start my download,选择复制链接,然后在服务器中通过 wget 命令下载到服务器

我这里是通过wget命令下载的

cd /usr/local/mysql_package
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.36-1.el6.x86_64.rpm-bundle.tar
3、解压
tar -xvf mysql-8.0.36-1.el6.x86_64.rpm-bundle.tar
4、安装

必须按照顺序执行命令,否则会出现依赖错误的报错,如果安装过程中出现错误,可以参考下一步。

#1、
rpm -ivh mysql-community-common-8.0.36-1.el6.x86_64.rpm
#2、
rpm -ivh mysql-community-client-plugins-8.0.36-1.el6.x86_64.rpm
#3、
rpm -ivh mysql-community-libs-8.0.36-1.el6.x86_64.rpm
#4、
rpm -ivh mysql-community-client-8.0.36-1.el6.x86_64.rpm 
#5、
rpm -ivh mysql-community-icu-data-files-8.0.36-1.el6.x86_64.rpm
#6、
rpm -ivh mysql-community-devel-8.0.36-1.el6.x86_64.rpm
#7、
rpm -ivh mysql-community-server-8.0.36-1.el6.x86_64.rpm
5、常见安装错误

(1)未按照规定顺序安装软件:按照顺序安装即可解决

(2)libc.so.6 缺失

大概率是因为下载的 MySQL版本与 Linux 版本对应不上,可以检查一下 MySQL 压缩包后缀名里面的参数是否与系统版本匹配

  • centos7 系统对应的 MySQL 是 el7
  • centos8 系统对应的 MySQL 是 el8

(3)openssl 缺失

安装 openssl-devel 即可解决

rpm -ivh mysql-community-devel-8.0.31-1.el8.x86_64.rpm

使用 yum install openssl-devel -y 安装 openssl-devel 

yum install openssl-devel -y

 再次安装该软件包即可

rpm -ivh mysql-community-devel-8.0.31-1.el8.x86_64.rpm

(4) perl 和 libaio 缺失

安装 prel 和 libaio 即可解决。

查看与 perl 相关的软件

yum list perl

安装:

yum install -y perl.x86_64

 查看与 libaio 相关的软件

yum list libaio

安装

yum install -y libaio*

(5)Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY

如mysql-community-devel安装报错

解决方法:加上 --nodeps,就是安装时不检查依赖关系,比如你这个rpm需要devel,但是你没装devel,这样你的包就装不上,用了--nodeps你就能装上了。

sudo rpm -ivh --nodeps  mysql-community-devel-8.0.36-1.el6.x86_64.rpm

同样地报错

rpm -ivh mysql-community-server-8.0.36-1.el6.x86_64.rpm 
warning: mysql-community-server-8.0.36-1.el6.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY
error: Failed dependencies:
	mysql-community-client(x86-64) >= 8.0.11 is needed by mysql-community-server-8.0.36-1.el6.x86_64

也可以使用以下命令解决

 sudo rpm -ivh --nodeps  mysql-community-server-8.0.36-1.el6.x86_64.rpm
6、检查与清理
6.1、检查:

(1)查看已安装的 MySQL 的版本

mysql -V

或者

mysql --version

(2)查看自动生成的my.cnf配置文件所在目录:可以看到为 /etc/my.cnf

查看内容如下:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
6.2、清理:

删除无用的包

rm -rf /usr/local/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar
rm -rf /usr/local/mysql_package/
7、安装后常见问题
7.1、socket 文件报错

如执行 mysql -v报错:Can't connect to local MySQL server through socket '***' 。

有两种解决方法:

(1)

二、 命令与配置

1、服务器开关命令 mysqld

mysqld是关于服务器端的程序。

1.1、查看 MySQL 服务状态
systemctl status mysqld
 1.2、开启 MySQL 服务

(1)使用systemctl 启动

systemctl start mysqld

(2)使用service 启动

service mysqld start
 1.3、设置 MySQL 服务开机自启
systemctl enable mysqld
1.4、 重启 MySQL 服务

(1)使用systemctl 重启

systemctl restart mysqld

 (2)使用service 重启

service mysqld restart

 再次查看 MySQL 服务状态,可以看到 MySQL 服务已经成功运行:

1.5、暂时关闭 MySQL 服务

服务器重新启动之后,MySQL 服务会再次启动

(1)使用systemctl 关闭

systemctl stop mysqld

(2) 使用service关闭

service mysqld stop
 1.6、永久关闭 MySQL 服务

服务器重新启动之后,MySQL 服务也不会再次启动

systemctl disable mysqld
2、客户端命令mysql

mysql是mysql自带的客户端程序 一般都在cmd或者终端下操作,用于登陆到mysql服务器。

2.1、 获取 root 用户的初始密码

第一次运行 MySQL 服务时,会进行初始化加载,同时会生成一个 root 用户的初始密码,可以通过查看日志文件 /var/log/mysqld.log 获取到 root 用户的初始密码,后续可手动修改密码

cat /var/log/mysqld.log | grep 'password'

2.2、修改roo的密码 

(1)先使用初始密码登陆到mysql服务

mysql -h 主机名 -P 端口号 -u 用户名 -p密码

如我执行

mysql -u root -p

(2)再修改密码,密码有两种形式:

 ① 密文:mysql8的默认密码是caching_sha2_password 方式加密的,登陆时需要解密

alter user 'root'@'localhost' identified by 'Mysql(41)';

 

② 明文:指定为mysql_native_password格式,即为明文密码,修改后使用该密码登陆即可。

#修改密码
alter user 'root'@'localhost' identified with mysql_native_password by 'Mysql#41';
#刷新权限
flush privileges;

(3)修改 MySQL 校验密码的安全策略【可选,一般不建议修改】

# 设置密码长度的最低位数
set global validate_password.length=4;
# 设置密码的安全等级,修改密码安全策略为低(只校验密码长度,至少8位)
set global validate_password.policy=LOW;
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |	决定是否使用该插件(及强制/永久强制使用):ON/OFF/FORCE/FORCE_PLUS_PERMANENT
| validate_password_dictionary_file    |        |	插件用于验证密码强度的字典文件路径
| validate_password_length             | 8      |	密码最小长度
| validate_password_mixed_case_count   | 1      |	密码至少要包含的小写字母个数和大写字母个数
| validate_password_number_count       | 1      |	密码至少要包含的数字个数
| validate_password_policy             | MEDIUM |	密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG
| validate_password_special_char_count | 1      |	密码至少要包含的特殊字符数
+--------------------------------------+--------+
7 rows in set (0.02 sec)
													0/LOW:只检查长度。
                                                    1/MEDIUM:检查长度、数字、大小写、特殊字符。
                                                    2/STRONG:检查长度、数字、大小写、特殊字符字典文件。
  2.3、退出登陆 
exit;

三、远程连接

1、端口开放问题

第一次连接提示无法连接到主机,这是因为 3306 端口未开放,如果是云服务器,防火墙的端口、安全组的端口都需要开放,需要开放3006端口。

2、root用户设置远程访问权限

user 表中的 host 字段表示用户的访问权限:localhost:只可以本地访问;%:允许任意地方访问

mysql -u root -p
use mysql;
select host, user, plugin from user;

#设置 root 用户任意地方可以访问
update user set host='%' where user='root';
#刷新权限
flush privileges;
#再次查看
select host, user, plugin from user;

3、密码问题

mysql8的默认密码是加密的,caching_sha2_password 加密方式在远程访问时候不支持,需要修改为 mysql_native_password。(如果第一次修改密码已经修改为mysql_native_password,这一步跳过)。

修改密码策略的同时,将当前 root 用户的密码的验证策略也修改一下,否则当前用户的密码会失效,使得 root 用户无法使用原密码登录 MySQL 服务

#修改密码
alter user 'root'@'%' identified with mysql_native_password by 'Mysql#41';
#刷新权限
flush privileges;

使用可视化工具、远程机器测试, 这时候就可以远程连接了:

四、mysql卸载

1、查看MySQL安装版本
rpm -qa|grep -i mysql

2、关闭MySQL服务
systemctl stop mysqld.service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/469184.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++庖丁解牛】继承的概念及定义 | 继承中的作用域 | 继承与友元继承与静态成员 | 复杂的菱形继承及菱形虚拟继承

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1.继承的概念及定义1.1继…

(2024,EBGAN,扩散,变分近似)通过扩散过程改进基于能量的对抗模型

Improving Adversarial Energy-Based Model via Diffusion Process 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 2. 相关工作 3. 去噪扩散对抗 EBM 3.1. 具有去噪扩散过程…

JavaScript中a++和++a的区别是什么?

在JS中,a 和 a 都是对变量 a进行自增操作,但是他们在执行的行为和结果上有些不同: a (前缀自增): 首先是将a的值增加1,然后返回 a 增加后的值。这意味着,表达式的其余部分使用 a的时候, a 的值…

人大金仓携手中国大地保险上线核心超A系统

2023年底 中国大地保险 卡园三路59号办公室里 一群技术精英们正忙碌着 他们的眼中闪烁着对即将到来的胜利的期待 这是大地保险超A系统 项目上线的关键时刻 也是通过科技创新 引领行业服务新趋势的一场征程 项目现场 一次颠覆:改变传统保险服务模式 超A平…

微信小程序项目实战遇到的问题

我们以学生成绩平台来作为例子。这是我们想得到的效果。 以下是完整代码: index.js // index.js Page({//页面的初始数据data: {hello: 欢迎进入微信小程序的编程世界,score: 80,userArray: [{name: 张三,score: [66, 77, 86, 70, 90]},{name: 李四,score: [88, 7…

中国传统游戏-幻方-c/c++实现

幻方(Magic Square)是一种将数字安排在正方形格子中,使每行、列和对角线上的数字和都相等的方法。 幻方也是一种中国传统游戏。旧时在官府、学堂多见。它是将从一到若干个数的自然数排成纵横各为若干个数的正方形,使在同一行、同…

由浅到深认识Java语言(2):Java语言概述

该文章Github地址:https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…

CSS案例-4.padding导航栏练习

效果 相关数据: 上边框:3px,颜色#ff8500 下边框:1px,颜色#edeef0 背景颜色:#fcfcfc 高度:41px 内边距20px 字体颜色#4c4c4c 知识点 盒子边框border 属性 作用 border-width 定义边框粗细,单位px border-style 边框的样式 border-color 边框颜色 边框样式

拿捏指针(三)

✨✨欢迎👍👍点赞☕️☕️收藏✍✍评论 个人主页:秋邱博客 所属栏目:C语言 (感谢您的光临,您的光临蓬荜生辉) 前言 在这之前我们学习了《拿捏指针(一)》,《拿…

Ansible基本介绍与模块使用

目录 引言 一、Ansible简介 (一)基本概述 (二)主要特点 二、Ansible安装及基本组件 (一)yum安装 (二)编译安装 (三)基本配置信息 1.主配置文件 2.主…

【Linux】自动化构建工具-make/Makefile

个人主页 : zxctscl 如有转载请先通知 文章目录 1. 前言2. 认识make/Makefile3. 了解make/Makefile原理3.1 依赖关系和依赖方法3.2 make检测的顺序3.3 PHONY:XXX 4. makefile内置符号 1. 前言 在上一篇中已经了解了【Linux】编译器-gcc/g使用,这次来一起…

01|模型IO:输入提示、调用模型、解析输出

Model I/O 可以把对模型的使用过程拆解成三块,分别是输入提示(对应图中的Format)、调用模型(对应图中的Predict)和输出解析(对应图中的Parse)。这三块形成了一个整体,因此在LangCha…

idea将非UTF-8的properties修改为UTF-8编码的文件

需求背景 由于项目初始化时,properties文件的编码格式为ASCII编码格式,此时用idea打开该文件会默认展示UTF-8的编码内容,其中汉字可以正常展示,但是使用notepad打开却依旧时ASCII编码格式 idea配置 打开idea-setting-editor-f…

TCP - 传输控制协议

TCP - 传输控制协议 是一种面向连接的可靠传输协议。 特点: TCP是面向连接(虚连接)的传输层协议。 每一条TCP连接有且只能有两个端点。 可靠、有序、无丢弃和不重复。 TCP协议提供全双工通讯。 发送缓存 存放发送方TCP准备发送的数据。T…

Springboot笔记-01

简化spring应用开发,约定大于配置 简化Spring应用开发的一个框架; 整个Spring技术栈的一个大整合; J2EE开发的一站式解决方案; 优点: 快速创建独立运行的spring项目以及于主流框架集成 使用嵌入式的Servlet容器&#x…

Reactor线程模型

线程模型 一、背景1.socket网络通信2.IO模型与线程模型3.线程模型分类3.1 阻塞模型3.2 Reactor模型3.3 Proactor模式 二、阻塞模型1.代码示例 三、Reactor模型1.单Reactor单线程1.1 处理过程1.2 优缺点1.3 代码示例 2.单Reactor多线程2.1 处理机制2.2 优缺点 3.主从Reactor3.1 …

深度学习_卷积

卷积 卷积(Convolution)是数学和计算机科学中的一个重要概念,特别在信号处理和图像处理中应用广泛。在信号处理领域,卷积是两个函数之间的一种数学操作,它表示两个函数的重叠部分的积分量。 在图像处理中&#xff0c…

JavaScript数组排序sort自定义函数不生效

背景 刷LeetCode时,遇到一道简单的数组排序题: 问题 想着直接用js的数组sort自定义排序即可,奈何测试用例运行总是不通过,返回的一直都是原数组。 代码排查 复制代码到Firefox浏览器控制台运行,结果输出的是正确结果&a…

搭建Hadoop集群(完全分布式运行模式)

目录 一、准备模板机(最小化安装)二、配置一台纯净的模板机修改主机名固定IP地址通过yum安装方式安装必要的软件关闭防火墙且禁止自启修改hosts映射文件创建普通用户 并让他能用sudo命令在/opt下创建software和module完成 三、搭建完全分布式运行模式3.1克隆第一台机器hadoop10…

基于PCA(主成分分析)的人面识别,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…