Linux环境下(CentOS 7)安装MySQL

news2024/11/13 12:59:05

Linux环境下(CentOS 7)安装MySQL数据库

文章目录

  • Linux环境下(CentOS 7)安装MySQL数据库
    • 一、安装MySQL数据库
    • 二、安装过程的中相关问题
    • 三、如何卸载已安装的MySQL
    • 四、参考链接

一、安装MySQL数据库

1、下载mysql源安装包(version: 5.7.41 MySQL Community Server)

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

2、安装mysql源,安装中途提示【Is this ok [y/d/N]: 】按y键继续,若结尾出现【Complete!】,则说明MySQL源安装完成。

yum localinstall mysql57-community-release-el7-8.noarch.rpm

3、 查看mysql相关资源

yum repolist enabled | grep "mysql.*-community.*"

效果如下:

4、yum方式安装mysql,安装中途提示【Is this ok [y/d/N]: 】按y键继续,若结尾出现【Complete!】,则说明MySQL源安装完成。

yum install mysql-community-server

5、设置开机启动mysql服务

# 设置开机启动mysql(systemctl enable mysqld)
systemctl enable mysqld.service
systemctl daemon-reload
# 检查是否已经安装了开机自动启动
systemctl list-unit-files | grep mysqld
# 设置开启服务
systemctl start mysqld.service

服务开启后,如下图所示

6、查看已安装的mysql版本
rpm -aq | grep -i mysql

7、MySQL服务相关命令

# 启动MySQL服务
systemctl start mysqld.service
# 重启MySQL服务
systemctl restart mysqld.service
# 停止mysql服务
systemctl stop mysqld.service

8、查看mysql服务启动状态

systemctl status mysqld.service

效果如下:

● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-11-20 11:50:37 CST; 6min ago…

9、查看MySQL初始密码,这个密码是随机生成的

grep 'A temporary password' /var/log/mysqld.log

如果密码没有看到,然后直接到/var/log/mysqld.log查看mysqld.log文件发现文件是一片空白。

原因:是因为你原本的虚拟机上装有mysql,在卸载MySQL时还有残留的数据

10、修改初始密码

-- 登陆mysql
mysql -uroot -p
-- 输入密码后回车,登陆进入(临时密码由第九步获取,我这里是【-XtbbG&lf3,h】)
use mysql;
--  版本一
alter user root@localhost identified by '数据库密码';
--  版本二
UPDATE mysql.user SET Password=PASSWORD('数据库密码') WHERE User='root';

简单密码无法设置解决办法

SHOW VARIABLES LIKE 'validate_password%'; -- 查看当前的密码策略
select @@validate_password_mixed_case_count; -- 查询密码认证强度要求
select @@validate_password_length; -- 查询密码长度最低要求
-- 修改默认密码后,修改密码校验参数的值
set global validate_password_policy=0;
set global validate_password_mixed_case_count=2;

11、查询mysql字符集编码&修改

show variables like '%char%'; -- 方法一
status;-- 方法二

对mysql字符集编码进行修改

# 退出数据库(sql命令)
exit;
# 停止mysql服务
systemctl stop mysqld.service
# 编辑my.cnf配置文件
vim /etc/my.cnf
# 如果配置文本没有[client]段,就自己添加上去
[client]                  
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

-- 编辑好配置文件后,重启MySQL服务;
systemctl start mysqld.service

修改前后对比

Variable_nameValue(修改前)Value(修改后)
character_set_clientutf8utf8
character_set_connectionutf8utf8
character_set_databaselatin1utf8
character_set_filesystembinarybinary
character_set_resultsutf8utf8
character_set_serverlatin1utf8
character_set_systemutf8utf8
character_sets_dir/usr/share/mysql/charsets//usr/share/mysql/charsets/
validate_password_special_char_count11

12、设置mysql能够远程访问**

登录进MySQL,给予root用户访问权限,MySQL默认root用户只能本地登录,如果要远程连接,要简单设置下,这里直接用root来远程登录不添加其他角色。(指定ip:%代表所有Ip,此处也可以输入Ip来指定Ip)

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
flush privileges;

13、云主机防火墙相关配置

# 打开防火墙
systemctl start firewalld
# 查看防火墙状态
systemctl status firewalld
# 添加端口命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
# 重启防火墙
firewall-cmd --reload

二、安装过程的中相关问题

1、msyql安装成功后,当执行一下命令时,如果能找到密码,则按如下一步一步操作;如果报/var/log/mysqld.log找不到,则跳至该文件末尾查看密码。

grep 'A temporary password' /var/log/mysqld.log

效果如下:

2021-11-20T05:34:39.441927Z 1 [Note] A temporary password is generated for root@localhost: S;UtWVTUx4rH

2、mysql登录命令,再输入密码即可。

mysql -u root -p

3、选择mysql这个库,因为mysql的root密码存放在这个数据库里。

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

原因:密码太过简单的原因。

解决办法:

方法一:把密码设置复杂点(这是最直接的方法)

方法二:关闭mysql密码强度验证(validate_password)

# 编辑配置文件
vim /etc/my.cnf 

增加如下

validate_password=off

重启mysql服务

systemctl restart mysqld.service

登录mysql,执行如下代码

ALTER USER 'root'@'localhost' IDENTIFIED BY '数据库密码';

结果如下

Query OK, 0 rows affected (0.00 sec)

4、MySQL设置utf8

打开/etc/my.cnf也就是数据库的配置文件,然后在底部复制粘贴

[client]                  
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
init_connect='SET NAMES utf8'

采用navicat新建数据库时,需要将编码方式设置为,字符集:utf8 – UTF-8 Unicode ,排序规则:utf8_general_ci

**5、 安装Mysql时,提示GPG keys有问题 **

The GPG keys listed for the “MySQL 5.7 Community Server” repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.

解决办法(以2022年为例)

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

6、阿里云的安全策略组中加入mysql连接的规则。这个很重要不然远程无法连接上。

7、当运行如如下命令报错时
yum install mysql-community-server

报错如下时:

修改vim /etc/yum.repos.d/mysql-community.repo 源文件,设置gpgcheck=0

三、如何卸载已安装的MySQL

此步骤可跳过

1、查找已安装的myslq 版本

rpm -qa|grep mysql

如下所示

mysql-community-common-5.7.36-1.el7.x86_64
mysql57-community-release-el7-8.noarch
mysql-community-libs-5.7.36-1.el7.x86_64
mysql-community-libs-compat-5.7.36-1.el7.x86_64
mysql-community-server-5.7.36-1.el7.x86_64
mysql-community-client-5.7.36-1.el7.x86_64

2、删除上面的文件夹

rpm -ev mysql-community-common-5.7.36-1.el7.x86_64 --nodeps
rpm -ev mysql57-community-release-el7-8.noarch --nodeps
rpm -ev mysql-community-libs-5.7.36-1.el7.x86_64 --nodeps
rpm -ev mysql-community-libs-compat-5.7.36-1.el7.x86_64 --nodeps
rpm -ev mysql-community-server-5.7.36-1.el7.x86_64 --nodeps
rpm -ev mysql-community-client-5.7.36-1.el7.x86_64 --nodeps

3、查找之前老版本mysql的目录

find / -name mysql

效果如下:

/run/lock/subsys/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/local/mysql
/usr/local/mysql/include/mysql
/usr/local/mysql/bin/mysql
/usr/local/mysql/data/mysql
/etc/selinux/targeted/active/modules/100/mysql
/var/spool/mail/mysql

4、删除老版本mysql的文件和库

rm -rf /run/lock/subsys/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/local/mysql
rm -rf /usr/local/mysql/include/mysql
rm -rf /usr/local/mysql/bin/mysql
rm -rf /usr/local/mysql/data/mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /var/spool/mail/mysql

5、卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf

6、再次查找机器是否安装mysql

rpm -qa|grep -i mysql

7、删除GPG 密钥

rm /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 

无结果,说明已经卸载彻底,接下来直接按照第一步安装mysql即可。

四、参考链接

  • https://tool.4xseo.com/article/240261.html
  • https://www.cnblogs.com/miyiyangdexin/p/16534836.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ACM MM 相关内容的整理+汇总

目录一、网址二、重要时间点三、论文篇幅要求四、征稿主题五、论文格式相关要求六、论文模板修改成投稿模式上述参考七、模板使用相关八、关于图片方面的问题九、Review and Rebuttal十、ACM MM2022相关论文参考arxiv上 ACM MM2022 论文汇总一、网址 ACM MM2023 主页&#xff1…

阿里工作7年,一个30岁女软件测试工程师的心路历程

简单的先说一下,坐标杭州,14届本科毕业,算上年前在阿里巴巴的面试,一共有面试了有6家公司(因为不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少) 其中成功的有4家&am…

嵌入式原理与应用期末复习汇总(附某高校期末真题试卷)

文章目录一、选择题二、填空题:三、判读题:四、简答题:五、程序设计题高校真题试卷第一套第二套第三套重修试卷一、选择题 1、为保证在启动服务器时自动启动DHCP进程,应对( B )文件进行编辑。 A、 /etc/rc…

少儿户外拓展北斗定位解决方案

一、项目背景户外拓展训练是指通过专业的机构,对久居城市的人进行的一种野外生存训练。拓展训练通常利用崇山峻岭、翰海大川等自然环境,通过精心设计的活动达到“磨练意志、陶冶情操、完善人格、熔炼团队”的培训目的。针对户外拓展人员安全管理存在的实…

【LeetCode】剑指 Offer(2)

目录 写在前面: 题目: 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 写在前面: 今天的每日一题好难,我不会dp啊啊啊啊啊啊。 所以&am…

Cache-Control 常见字段

Cache-Control 常见字段 参考:https://blog.csdn.net/qq_41996454/article/details/108644436 Cache-Control 可以在请求头或者响应头中设置,并且可以组合使用多种指令 no-cache 和 no-store 用作控制缓存,被服务器通过响应头 Cache-Contro…

wireshark抓包后通过工具分包

分包说明:关于现场问题分析,一般都是通过日志,这个属于程序中加的打印,或存数据库,或者存文本形式,这种一般比较符合程序逻辑;还有一种就是涉及到网络通信方面的,需要通过抓包来分析…

C++ inline内联函数详解

函数是一个可以重复使用的代码块,CPU 会一条一条地挨着执行其中的代码。CPU 在执行主调函数代码时如果遇到了被调函数,主调函数就会暂停,CPU 转而执行被调函数的代码;被调函数执行完毕后再返回到主调函数,主调函数根据…

AntD-tree组件使用详析

目录 一、selectedKeys与onSelect 官方文档 代码演示 onSelect 注意事项 二、expandedKeys与onExpand 官方文档 代码演示 onExpand 注意事项 三、loadedKeys与onLoad和onExpand 官方文档 代码演示 onExpand与onLoad:​ 注意事项 四、loadData …

从“服务”,到“赋能”,日日顺再次定义供应链生态建设

在众多不确定因素的交织下,当下的供应链企业变革呈现出前所未有的紧迫感。一体化、全链路的趋势,为企业的发展指明方向,与此同时数字化与科技化开始承托供应链管理能力的升级与变革。 2月15日,由日日顺供应链、运联智库联合举办的…

CVE-2021-42278 CVE-2021-42287域内提权漏洞

漏洞介绍2021 年 11 月 9 日,国外研究员在推特上发布了AD相关的 CVE,CVE-2021-42278 & CVE-2021-42287 ,两个漏洞组合可导致域内普通用户权限提升至域管权限。CVE-2021-42278:是一个安全绕过漏洞,允许通过修改机器…

4.4 MQC

1. 实验目的 熟悉MQC的应用场景掌握MQC的配置方法2. 实验拓扑 实验拓扑如图4-10所示: 图4-10:MQC 3. 实验步骤 (1) IP地址的配置 AR1的配置 <Huawei>system-view

【单目标优化算法】蜣螂优化算法(Dung beetle optimizer,DBO)(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密…

合宙Air780E|iot|update|FOTA|LuatOS-Air开发|LuatOS-SOC接口|官方demo|学习(17):FOTA(远程升级)

一. 概述 update是物联网中比较常用的功能&#xff0c;本文介绍如何用Air780E开发板&#xff0c;如何做update升级。 LuatOS-Air开发模式下&#xff0c;固件分为两部分&#xff1a;core和script 远程升级时&#xff1a;core为差分升级&#xff1b;script为全量覆盖升级 远程…

Spring高级(原理)

一、Spring创建Bean personService -> 构造方法 -> 普通对象 -> 依赖注入&#xff08;byType->byName&#xff09; -> 初始化前(PostConstruct) -> 初始化(InitializingBean) -> 初始化后(AOP) -> 代理对象 -> 将代理对象放入到Map单例池中 -> B…

WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第五步-高级可视化)

1写在前面 前面我们用WGCNA分析完成了一系列的分析&#xff0c;聚类分割模块。&#x1f970; 随后进一步筛选&#xff0c;找到与我们感兴趣的表型或者临床特征相关的模块&#xff0c;而且进行了模块内部分析。&#x1f618; 再然后是对感兴趣模块进行功能注释&#xff0c;了解模…

Mars3D Studio 的使用方法

Mars3D Studio的使用 1、介绍&#xff1a; mars3d Studio是mars3d研发团队于近期研发上线的一款 场景可视化编辑平台。拥有资源存档、团队协作、定制材质等丰富的功能。可以实现零代码构建一个可视化三维场景。 2、功能介绍 &#xff08;1&#xff09;数据上传&#xff1a…

代码随想录【Day16】| 110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之和

110. 平衡二叉树 题目链接 题目描述&#xff1a; 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a;一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,nul…

物理层基本介绍

corset 0 告诉下行初始带宽是多少 initail DL BWP, 4g 是20M带宽&#xff0c;5G是FR1 如果5G是全带宽的话&#xff0c;手机很快就会没电了。 告诉手机带宽会分布在某一个带宽里面去&#xff0c;将手机的带宽调整就行。 DCI&#xff0c;告诉手机&#xff0c;未来的某一个时刻&a…

【MyBatis】第九篇:mybatis逆向工程插件----mybatis-generator

本篇聊mybatis逆向工程&#xff0c;但是这个和安卓逆向不一样&#xff0c;不是说反编译&#xff0c;破解什么加密 &#xff0c;最后打包。而是通过一某插件&#xff0c;快速生成一个mybatis项目的结构而已。 简单的说就是&#xff0c;通过先创建的数据表&#xff0c;由框架通过…