CentOS7 64位下MySQL5.7安装与配置教程
作者:人走搽谅 发布时间:2024-01-17 16:32:12
安装环境:CentOS7 64位 MINI版,安装MySQL5.7
1、配置YUM源
在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/
# 下载mysql源安装包
shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安装mysql源
shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
shell> yum repolist enabled | grep "mysql.*-community.*"
看到上图所示表示安装成功。
可以修改yum源,改变默认安装的mysql版本。比如要安装5.7版本,将5.7源的enabled=0改成enabled=1即可。改完之后的效果如下所示:
vim /etc/yum.repos.d/mysql-community.repo
2、安装MySQL
shell> yum install mysql-community-server
3、启动MySQL服务
shell> systemctl start mysqld
查看MySQL的启动状态
4、开机启动
shell> systemctl enable mysqld
shell> systemctl daemon-reload
5、修改root本地登录密码,有可能root默认密码为空
1.如果默认密码为空,直接回车登陆
有密码的,mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
shell> grep 'temporary password' /var/log/mysqld.log
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示:
通过msyql环境变量可以查看密码策略的相关信息:
mysql> show variables like '%password%';
validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个
上述参数是默认策略MEDIUM的密码检查规则。
共有以下几种密码策略:
MySQL官网密码策略详细说明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy
修改密码策略
在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略
# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:
validate_password = off
重新启动mysql服务使配置生效:
systemctl restart mysqld
6、添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;
7、配置默认编码为utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
重新启动mysql服务,查看数据库默认编码如下所示:
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
Centos7 卸载mysql
查看当前安装状态
rpm -qa|grep -i mysql
yum remove mysql
rpm -e mysql-community-release-el7-5.noarch
若提示依赖错误
则执行
rpm -ev --nodeps mysql-community-libs-5.6.43-2.el7.x86_64
依此方法删完
接着查找之前老版本mysql的目录、并且删除老版本mysql的文件和库,我是没有删除以前的老库,直接做的一个升级安装
find / -name mysql
删除对应的mysql目录
rm -rf /var/lib/mysql
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除
rm -rf /etc/my.cnf
my.cnf有时候不一定在/etc下,可用命令查找
find / -name my.cnf
再次查找机器是否安装mysql
rpm -qa|grep -i mysql
我并没有删除原来的配置文件,数据库,直接安装的5.7,原来的数据库存,但是出现数据库不能用的情况,我是用了两个命令解决的。
set @@global.show_compatibility_56=ON;
原来的数据库就可以正常使用了。
总结
以上所述是小编给大家介绍的CentOS7 64位下MySQL5.7安装与配置教程网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.cnblogs.com/aqicheng/archive/2019/08/26/11410651.html


猜你喜欢
- 本文实例为大家分享了python视频转彩色字符动画的具体代码,供大家参考,具体内容如下一、效果原图:转换后:效果可通过代码开头几行的参数调节
- 问题:不同版本提交的城市文件夹数量固定,怎样确定本版本成果中缺少了哪些城市?背景:已有参照文件作为标准,利用取差集的方法#-*- codin
- 数据库备份的分类物理备份:数据库操作系统的物理文件(如数据文件,日志文件等)的备份物理备份的方法:冷备份(脱机备份):是在关闭数据库时候进行
- 之前安装过Anaconda3,但是今天发现我安装的Anaconda Navigator不见了,然后看了网上的各种博客发现是自己安装Anaco
- 本文实例讲述了Python图像处理实现两幅图像合成一幅图像的方法。分享给大家供大家参考,具体如下:将两幅图像合成一幅图像,是图像处理中常用的
- 本文是 《用 Golang 实现一个 Redis》系列文章第二篇,本文将分别介绍Redis 通信协议 以及 协议解析器 的实现,若您对协议有
- 本文内容速览1、绘图数据准备还是使用鸢尾花iris数据集#导入本帖要用到的库,声明如下:import matplotlib.pyplot a
- 本文实例讲述了PHP笛卡尔积实现算法。分享给大家供大家参考,具体如下:<?php$arr = array(array(1,3,4,5)
- 常用分支首先分享一下我们的分支规范,然后再介绍摸索出的打tag的规范。mastermaster : 主分支 , 最终在master分支对外发
- Oracle按不同时间分组统计的sql如下表table1: 日期(exportDate) &nbs
- aspImage是ServerObjects站点上非常好的一个组件,它可以使我们利用Asp实现很多对于图形的处理功能,他的功能强大,如果你需
- 一、什么是XSS攻击xss攻击:----->web注入xss跨站脚本攻击(Cross site script,简称xss)是一种“HT
- 数组go开发者在日常的工作中slice算是用的比较多的了,在介绍slice之前,我们先了解下数组,数组相信大家都不陌生,数组的数据结构比较简
- 看了两天 go 语言,是时候练练手了。go 的 routine(例程) 和 chan(通道) 简直是神器,实现多线程(在 go 里准确的来说
- QCheckBox 是具有两种状态的控件:开和关。它是一个带有标签的复选框。复选框通常用于表示应用程序可以启用或禁用的功能。#!/usr/b
- 先看效果图 GY-85.py:#!/usr/bin/python3# -*- coding: utf-8 -*-import cursesf
- Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。1.PHP加密扩展库Mcrypt安装在标准的PHP安装过程中并没
- 背景大家好,我是J哥。我们常常面临着大量的重复性工作,通过人工方式处理往往耗时耗力易出错。而Python在办公自动化方面具有天然优势,分分钟
- 利用序列产生主键值。 序列(Sequence)是一种可以被多个用户使用的用于产生一系列唯一数字的数据库对象。序列定义存储在数据字典中,通过提
- Python基础语法相关一、Python中的pass语句的作用是什么?pass语句什么也不做,一般作为占位符 或者创建站位程序,pass语句