注意:本文系统环境 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. Sql Server之ORDER BY不规则排序.如:中文月份排序

    ORDER BY CASE Month WHEN '一月' THEN 1 WHEN '二月' THEN 2 WHEN '三月' THEN 3 WHEN '四月' THEN 4 WHEN '五月' TH ...

  2. java 多线程-3

    十.同步机制解决Thread继承安全问题 创建三个窗口买票,共100张票.用继承来实现 方式一:同步代码块 public class RunMainExtends { public static vo ...

  3. 2.1 Spring5源码编译

    一. 准备工作 1. . 编译环境 maven jdk8 idea 2. 编译版本: SpringV5.2.7RELEASE+GradleWapper+jdk1.8.0_131编译 二. 源码下载 g ...

  4. 4.Strom-可靠性保证

  5. RabbitMQ安装、集群搭建、概念解析

    RabbitMQ安装.集群搭建.概念解析 基本概念 为什么会产生MQ 1.解耦:采用异步方式实现业务需求达到解耦的目的. 2.缓冲流量,削峰填谷: 问:为什么会有流量冲击? 答:采用"直接调 ...

  6. Unity3D 一、游戏

    3D游戏编程第一次作业 作业要求 阅读 Tracy Fullerton, *GAME DESIGN WORKSHOP* 第2-4章(游戏结构.基本元素.戏剧元素).选择一款你喜欢的中等规模游戏如&qu ...

  7. 谷歌发布Flutter Alpha:支持Windows

    老孟导读:Windows来了,Mac.Linux.Web还远吗? 本文翻译自https://medium.com/flutter/announcing-flutter-windows-alpha-33 ...

  8. ucore操作系统学习笔记(一) ucore lab1系统启动流程分析

    一.ucore操作系统介绍 操作系统作为一个基础系统软件,对下控制硬件(cpu.内存.磁盘网卡等外设),屏蔽了底层复杂多样的硬件差异:对上则提供封装良好的应用程序接口,简化应用程序开发者的使用难度.站 ...

  9. springboot集成swagger文档

    //此处省略springboot创建过程 1.引入swagger相关依赖(2个依赖必须版本相同) <dependency> <groupId>io.springfox</ ...

  10. Centos-切换用户身份-su

    su 切换用户身份 相关选项 - 加载相应用户下环境变量 -c   使用某个身份执行一个指令 -m  改变用户身份不改变环境变量 切换为超级用户 su - 普通用户切换为超级用户需要输入密码,超级用户 ...