注意:本文系统环境 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. Book of Shaders 02 - 矩阵:二维仿射变换练习

    0x00 一些废话 如果要深入学习 CG (Computer Graphics,计算机图形学),必然要学习相关的数学知识.CG 涉及到多个不同的领域,根据所研究领域的不同,也会涉及到不同的数学分支.但 ...

  2. 论文翻译:2020_Acoustic Echo Cancellation Challenge Datasets And Testingframework

    论文地址:ICASSP 2021声学回声消除挑战:数据集和测试框架 代码地址:https://github.com/microsoft/DNS-Challenge 主页:https://aec-cha ...

  3. win10 系统出现“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。”

    公司无法访问共享 \192.168.7.101.win+R 输入gpedit.msc2.计算机配置-管理模板–网络-lanman 工作站-找到"启用不安全的来宾登录"选择 已启用. ...

  4. SQL Server 2008 R2执行存储过程sp_MailItemResultSets引起大量PREEMPTIVE_OS_WAITFORSINGLEOBJEC等待

      从监控工具DPA中发现一个数据库(SQL Server 2008 R2)的等待事件突然彪增,下钻分析发现数据库执行存储过程sp_MailItemResultSets时,引起了非常严重的等待(Hig ...

  5. 正则表达式(代码java版)

    目录 元字符 检测工具 普通字符 字符类 预定义字符类 数量词 默认数量词 自定义量词 预定义量词 边界标识符 正则组 简单应用 复杂组序 捕获组 看了好些天的正则表达式,终于有时间来写一篇关于它的博 ...

  6. spring-cloud-starter-openfeign 源码详细讲解

    1.测试环境搭建: 1.1 架构图: product服务提供一个接口: order服务通过feign的方式来调用product的接口: order服务需要引入依赖: <dependency> ...

  7. 与Bat脚本的故事

    因为工作时需要将定时处理的业务抽出来,废弃通过监听定时调用的这种方法,改为通过第三方软件定时执行bat脚本来实现,所以学习了一下bat脚本,整理出一些学习中的基础点和重点. 基础点: (1)bat脚本 ...

  8. c#后台代码请求访问api接口

    前言:最近公司项目与外部api接口对接较多 ,写下自己的代码总结.介绍两种访问方式(HttpClient.HttpWebRequest) 一.HttpWebRequest 访问Api private ...

  9. const pointers

    1 指针 p对应的地址是常量,但是里面存放的data不是常量 2 地址里存放的data是常量,但是地址不是常量 3 地址和指针都是常量

  10. matlab receive License Manager Error -103?

    参考:https://www.mathworks.com/matlabcentral/answers/91874-why-do-i-receive-license-manager-error-103 ...