注意:本文系统环境 CentOS 7.7 64位

MySQL Community Server 5.7.32

一丶卸载CentOS7系统中默认的数据库mariadb

原因一:ps原作者的话介绍下背景:CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用MariaDB代替了,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

原因解释二:以前的Linux系统中数据库大部分是mysql,不过自从被sun收购之后,就没用集成在centos这些开源Linux系统中了,那么如果想用的话就需要自己安装了,首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。

1 yum list installed | grep mariadb    #检查mariadb是否安装
2 卸载命令一: yum -y remove mariadb*
3 卸载命令二: rpm -qa |grep mariadb |xargs yum remove -y

二丶安装Mysql

1.下载Mysql

下载地址:https://dev.mysql.com/downloads/mysql/

Select Version: 5.7.32

Select Operating System: Red Hat Enterprise Linux / Oracle Linux

Select OS Version: All

下载下方 Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle (mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar)

2.将下载的mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar文件放到/usr/local/mysql目录

2.1切换到/usr/local/mysql的当前目录

2.2解压压缩文件

命令如下:

1 tar mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar
 

解压后你会看到有10个rpm包

  • mysql-community-client(*客户端程序和工具)

  • mysql-community-server(*服务器程序和工具)

  • mysql-community-libs(*LIB库)

  • mysql-community-libs-compat(*LIB共享兼容库)

  • mysql-community-common(*公共文件)

  • mysql-community-devel(开发MySQL必备的头文件和库)

  • mysql-community-embedded(嵌入式库)

  • mysql-community-embedded-compat(嵌入式共享兼容库)

  • mysql-community-embedded-devel(嵌入式开发库)

  • mysql-community-test(测试套件)

2.3通过rpm方式安装(ps记得在当前目录, 只安装必备包及其部分包)

命令如下:

-ivh解释

-i 安装软件包 -v 可视化,提供更多的详细信息的输出 -h 显示安装进度

rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-5.7.32-1.el7.x86_64.rpm
 

安装结束后会在Linux中的各种目录生成必要的文件,如下表:

到现在为止,CentOS 7 安装MySQL 5.7.32已经安装结束。

.tar.gz的安装方式中的, 比如添加mysql用户及mysql用户组等操作才需要额外设置的

这里RPM安装包自动把这些都设置好了, 所以推荐rpm安装方式, 可以大幅度减少操作.

2.4修改Mysql的my.cnf的配置 (不确定的可以直接复制我这份内容,文末会贴出一份常用的mysql配置信息)

[client]                                        # 客户端设置,即客户端默认的连接参数
port = 3306 # 端口号
user = mysql # linux的用户

[mysqld] # 服务端基本设置
# 基础设置
basedir = /usr/local/mysql # MySQL安装根目录
datadir=/data/mysql # MySQL数据文件所在位置
socket=/var/lib/mysql/mysql.sock # 用于本地连接的socket套接字,mysqld守护进程生成了这个文件
log-error=/var/log/mysqld.log # 数据库错误日志文件
pid-file=/var/run/mysqld/mysqld.pid # pid文件所在目录

max_connections = 400 # 最大连接数
character-set-server = utf8mb4 # 设置client连接mysql时的字符集,防止乱码
explicit_defaults_for_timestamp = true # TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
lower_case_table_names = 1 # 是否对sql语句大小写敏感,1表示不敏感
max_allowed_packet = 128M # SQL数据包发送的大小,如果有BLOB对象建议修改成1G
 

注意: 默认data数据会存在/var/lib/mysql目录下, 如果想自己指定位置, 请进行如下操作

1.删除默认目录 rm -rf /var/lib/mysql

2.新建自己的目录 例如: mkdir /home/mysql

3.对应修改my.cnf中的datadir参数的值为 /home/mysql

4.将socket这项修改为socket=/home/mysql/mysql.sock

3.初始化数据库, 启动mysql,设置开机自启

初始化数据库命令如下:

mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql
 

给mysql用户分配文件夹权限:

chown mysql:mysql /data/mysql -R
 

启动mysql

systemctl start mysqld.service
 

设置为自动启动

systemctl  enable mysqld
 

4.常见命令

systemctl start mysqld #启动mysqld

systemctl stop mysqld #停止mysqld

systemctl restart mysqld #重启mysqld

systemctl enable mysqld #设置开机启动

systemctl status mysqld #查看 MySQL Server 状态

三丶测试数据库安装是否成功

1.查询默认生成的数据库密码

如下: #D#<Psahb3Gq就是密码


[root@VM_0_10_centos mysql]# grep 'temporary password' /var/log/mysqld.log
2020-10-20T04:42:25.145990Z 1 [Note] A temporary password is generated for root@localhost: #D#<Psahb3Gq

2.登录MYSQL(输入密码的时候是没有显示的, ssh工具一般支持赋值粘贴,可以考虑复制)

mysql -u root -p 
 

3.修改MYSQL密码

注意: 可能出现的情况

1.密码要大于8位才能修改成功

2.可以考虑设置为符合要求的密码,或者修改密码策略

修改密码策略

mysql> set global validate_password_special_char_count=0; 参数是密码中非英文数字等特殊字符的个数,当密码策略是MEDIUM或以上时生效。

mysql> set global validate_password_length=6 参数是密码的长度

mysql> set global validate_password_mixed_case_count=0; 参数是密码中英文字符大小写的个数,当密码策略是MEDIUM或以上时生效。

mysql> set global validate_password_number_count=0; 参数是密码中至少含有的数字个数,当密码策略是MEDIUM或以上时生效。

mysql> set global validate_password_policy=0; 这个参数可以设为0、1、2,分别代表从低到高的密码强度,此参数的默认值为1,如果想将密码强度改弱,则更改此参数为0。
 

修改密码的三个方式(任选其一即可): 在123456处填入你要修改的密码

方式1: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
方式2: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
方式3: mysql> use mysql;
   mysql> UPDATE user SET Password = PASSWORD('123456') WHERE user = 'root';
   mysql> FLUSH PRIVILEGES;

exit退出mysql,再使用新密码登录

4.远程访问Mysql授权设置

刷新权限 FLUSH PRIVILEGES; 使修改立即生效.

mysql> use mysql;
   mysql> UPDATE user SET host = '%' WHERE user = 'root';
   mysql> FLUSH PRIVILEGES;
 

这个时候, 你就可以通过其它的电脑使用Navicat等数据库操作软件远程连接你服务器的数据库了

 
 

linux(CentOS7)_离线_mysql安装的更多相关文章

  1. linux(centos7) nginx php mysql安装

    环境: linux:centos7 php:7.0 基础命令 // yum install -y lrzsz // centos7 默认已安装yum install epel-release ngin ...

  2. Linux CentOS7系统中phpMyAdmin安装配置

    今天介绍的是如何在Linux CentOS7系统中配置phpMyAdmin. 目录 环境准备 安装包 基本设置 网站预览 环境准备 linux centos7系统 ssh软件 php语言环境 mysq ...

  3. Linux CentOS7系统中mysql8安装配置

    mysql是世界上最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司所有.今天我将记录一下如何在Linux centos7系统上安装和配置MySQL. 目录 环境准 ...

  4. Linux CentOS7系统中php安装配置

    本篇讲解如何配置php开发环境,让你的php代码可以正常的在网页中运行. 准备工作 linux centos7操作系统 ssh软件 nginx php资源 想要了解更多关于php的内容,请访问: ph ...

  5. 在centos7中离线方式安装mysql5.7

    第一步:下载mysql 在Linux终端使用wget命令下载网络资源:(可以先下好) wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17 ...

  6. Linux CentOS7.0下JAVA安装和配置环境变量

    一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行“java -version”命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致“ja ...

  7. Linux CentOS7通过yum命令安装Mono(尝先安装模式)

    前言 经过尝试网上各种安装mono的技术贴,这个安装过程经历了大约2周,尝试了各个版本,几目前博客所描述的所有安装方式.以下内容的安装方式可以为你尝试不同版本的mono.并非正式环境安装标准方式安装. ...

  8. Linux(Centos7)下Mysql的安装

    1.1 查看mysql的安装路径: [root@bogon ~]# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysq ...

  9. linux centos7 非root用户安装源码版docker

    注意:非root用户必须要有sudo权限 一.安装前的准备 1.查看当前主机是否有docker组 若没有输出结果则新建 再次查看,发现已经有了docker组 2.新增拥有sudo权限的用户(若知道ro ...

随机推荐

  1. Node.js 从零开发 web server博客项目[日志]

    web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...

  2. spring mvc(2) spring mvc初体验

    前面讲到随着前端技术的发展,web的开发已经实现了前后分离,并且spring mvc经过多个版本的更新,使用上也变得不一样,并且提供了很多便捷的功能.但是为了便于理解,我们使用比较原始的方式搭建spr ...

  3. Java 13天基础 06天map集合小练习(黑马程序员) 统计字符串中每个字符出现的次数 (经典面试题)

    import java.util.HashMap; import java.util.Map; import java.util.Scanner; /** * 目标 : 输出一个字符串中每个字符出现的 ...

  4. elasticsearch备份和还原(基于hdfs)

    备份和还原,为什么elasticsearch还需要备份呢,明明可以设置副本做到高可用,那怕啥呢? 其实在实际的生产环境中,一般最终的结果数据都是要备份的,这样的做的目的,就是能够以最快的速度还原数据, ...

  5. nacos快速安装

    一 什么是 Nacos 服务注册中心和配置中心. 二 使用 下载和启动 使用有两种方式 1.自己下载源码编译 2.下载编译好的压缩包 我比较懒选择了第二种方式. 最新稳定版本 下载地址:https:/ ...

  6. SpringBoot框架:'url' attribute is not specified and no embedded datasource could be configured问题处理

    一.问题如下: Description:    Failed to configure a DataSource: 'url' attribute is not specified and no em ...

  7. RDS、DDS 和 GaussDB 理不清?看这一篇足够了!

    当前,华为云提供的数据库服务主要包括三大类:关系型数据库服务,非关系型数据库服务以及数据库工具服务.如下图所示: 关系型数据库和非关系型数据库均可分为开源和自研两大类.其中,自研数据库统一为Gauss ...

  8. hw小技巧(转载)

    小弟也第一次参加hw,经过5天hw,确实也学到了许多的东西,但就本次分享而言,我分享一些我认为在hw里面值得注意的东西以及一些小技巧 0x01 信息收集 信息收集这个多西当然都是老生常谈了,你收集的东 ...

  9. 使用spring mvc拦截器 会话失效处理

    import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...

  10. 简单版 Promise/A+,通过官方872个测试用例

    promise 标准 在实现 Promise 之前要清楚的是 JavaScript 中的 Promise 遵循了 Promises/A+ 规范,所以我们在编写 Promise 时也应当遵循这个规范,建 ...