注意:本文系统环境 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. js动画之轮播图

    一. 使用Css3动画实现 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  2. MYsql添加用户、赋予权限

    1.创建新用户 CREATE USER 'admin'@'%' IDENTIFIED BY '123456'; '%' 表示可以远程登录访问.操作 ‘localhost’ 表示只能本地登录访问.操作2 ...

  3. SM4密码算法matlab实现

    %function C=SM4(X,K,M)%M为1时进行加密,M为0时进行解密操作,X为明文/密文输入,K为密钥输入X='0123456789abcdeffedcba9876543210';%X=' ...

  4. 关于bat/cmd中转义符的使用

    今天笔者在cmd中准备使用echo 输出<https://www.cnblogs.com/5201351> 发现直接就报错:命令语法不正确. 然后就想到可能是<和>在cmd中有 ...

  5. NX导入DWG失败

    给客户开发的NX导入DWG图纸功能,部分电脑偶尔出现导入失败的情况,且几乎没有规律可言.客户无法理解,坚持认为是代码的问题,毕竟使用的是我们二次开发的功能.我本机没有问题,在某些出问题的电脑上也尝试多 ...

  6. zabbbixs数据库常用操作

    设置MariaDB数据库远程 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'admin' WITH GRANT OPTION; SEL ...

  7. Python-序列-str list tuple

    序列 有序数列 str tupe list str tupe 不可变 list 可变 序列(str list tuple) 每个元素都会有个序号(0开始计数) 1. 知索引取单个确定类型 [index ...

  8. python3 结束进程

    为什么会去结束进程呢?因为在做appium中遇到H5跳转了多个页面的时候,出现了获取的pagesource是上一个页面的情况,这时候就需要先退出webview,然后杀掉chromedriver的进程, ...

  9. Leetcode-dfs & bfs

    102. 二叉树的层次遍历 https://leetcode-cn.com/problems/binary-tree-level-order-traversal/ 给定一个二叉树,返回其按层次遍历的节 ...

  10. 软件定义网络实验记录②--Mininet 实验——拓扑的命令脚本生成

    一.实验目的 掌握 Mininet 的自定义拓扑生成方法:命令行创建.Python 脚本编写 二.实验任务 通过使用命令行创建.Python 脚本编写生成拓扑,熟悉 Mininet 的基本功能. 三. ...