linux(CentOS7)_离线_mysql安装
注意:本文系统环境 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安装的更多相关文章
- linux(centos7) nginx php mysql安装
环境: linux:centos7 php:7.0 基础命令 // yum install -y lrzsz // centos7 默认已安装yum install epel-release ngin ...
- Linux CentOS7系统中phpMyAdmin安装配置
今天介绍的是如何在Linux CentOS7系统中配置phpMyAdmin. 目录 环境准备 安装包 基本设置 网站预览 环境准备 linux centos7系统 ssh软件 php语言环境 mysq ...
- Linux CentOS7系统中mysql8安装配置
mysql是世界上最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司所有.今天我将记录一下如何在Linux centos7系统上安装和配置MySQL. 目录 环境准 ...
- Linux CentOS7系统中php安装配置
本篇讲解如何配置php开发环境,让你的php代码可以正常的在网页中运行. 准备工作 linux centos7操作系统 ssh软件 nginx php资源 想要了解更多关于php的内容,请访问: ph ...
- 在centos7中离线方式安装mysql5.7
第一步:下载mysql 在Linux终端使用wget命令下载网络资源:(可以先下好) wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17 ...
- Linux CentOS7.0下JAVA安装和配置环境变量
一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行“java -version”命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致“ja ...
- Linux CentOS7通过yum命令安装Mono(尝先安装模式)
前言 经过尝试网上各种安装mono的技术贴,这个安装过程经历了大约2周,尝试了各个版本,几目前博客所描述的所有安装方式.以下内容的安装方式可以为你尝试不同版本的mono.并非正式环境安装标准方式安装. ...
- Linux(Centos7)下Mysql的安装
1.1 查看mysql的安装路径: [root@bogon ~]# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysq ...
- linux centos7 非root用户安装源码版docker
注意:非root用户必须要有sudo权限 一.安装前的准备 1.查看当前主机是否有docker组 若没有输出结果则新建 再次查看,发现已经有了docker组 2.新增拥有sudo权限的用户(若知道ro ...
随机推荐
- Node.js 从零开发 web server博客项目[日志]
web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...
- spring mvc(2) spring mvc初体验
前面讲到随着前端技术的发展,web的开发已经实现了前后分离,并且spring mvc经过多个版本的更新,使用上也变得不一样,并且提供了很多便捷的功能.但是为了便于理解,我们使用比较原始的方式搭建spr ...
- Java 13天基础 06天map集合小练习(黑马程序员) 统计字符串中每个字符出现的次数 (经典面试题)
import java.util.HashMap; import java.util.Map; import java.util.Scanner; /** * 目标 : 输出一个字符串中每个字符出现的 ...
- elasticsearch备份和还原(基于hdfs)
备份和还原,为什么elasticsearch还需要备份呢,明明可以设置副本做到高可用,那怕啥呢? 其实在实际的生产环境中,一般最终的结果数据都是要备份的,这样的做的目的,就是能够以最快的速度还原数据, ...
- nacos快速安装
一 什么是 Nacos 服务注册中心和配置中心. 二 使用 下载和启动 使用有两种方式 1.自己下载源码编译 2.下载编译好的压缩包 我比较懒选择了第二种方式. 最新稳定版本 下载地址:https:/ ...
- 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 ...
- RDS、DDS 和 GaussDB 理不清?看这一篇足够了!
当前,华为云提供的数据库服务主要包括三大类:关系型数据库服务,非关系型数据库服务以及数据库工具服务.如下图所示: 关系型数据库和非关系型数据库均可分为开源和自研两大类.其中,自研数据库统一为Gauss ...
- hw小技巧(转载)
小弟也第一次参加hw,经过5天hw,确实也学到了许多的东西,但就本次分享而言,我分享一些我认为在hw里面值得注意的东西以及一些小技巧 0x01 信息收集 信息收集这个多西当然都是老生常谈了,你收集的东 ...
- 使用spring mvc拦截器 会话失效处理
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ...
- 简单版 Promise/A+,通过官方872个测试用例
promise 标准 在实现 Promise 之前要清楚的是 JavaScript 中的 Promise 遵循了 Promises/A+ 规范,所以我们在编写 Promise 时也应当遵循这个规范,建 ...