Centos7安装和配置Mysql8

Centos7安装和配置Mysql8

一、yum方式安装

1.由于centOS7中默认安装了MariaDB,需要先进行卸载

rpm -qa | grep -i mariadb

rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64

新增:经实践在使用yum方式安装MySQL时不用卸载也可以,会被自动替代  通过rpm方式安装需要卸载,否则会出现依赖问题


查询下本机mysql是否卸载干净

rpm -qa | grep mysql

若有残留也需要卸载

2.下载MySQL仓库并安装

进入mysql官网获取RPM包下载地址

https://dev.mysql.com/downloads/repo/yum/



获取到下载地址。然后wget下载安装包

wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm


yum -y install mysql80-community-release-el7-7.noarch.rpm


2022年5月2日更新:

安装过程中可能遇到如下报错无法安装,原因是Mysql的GPG升级了,需要重新获取


执行以下命令再安装即可

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

3.默认安装MySQL8.0,如果需要安装MySQL5.7的话需要修改/etc/yum.repos.d/mysql-community.repo配置文件

将mysql80中enabled属性改为0,并添加图中红框内代码(安装MySQL8.0跳过该步骤)


4.安装MySQL数据库

yum -y install mysql-community-server

5.开启mysql服务

systemctl start mysqld.service

6.查看mysql默认密码并登陆

cat /var/log/mysqld.log | grep password


mysql -uroot -p

二、rpm方式安装

首先去官网下载完整rpm包


下载mysql5.7的话点击这里跳转至下载页面

解压tar包


依次安装所需要的rpm包即可

rpm-ivhmysql-community-common-8.0.23-1.el7.x86_64.rpm

rpm-ivhmysql-community-libs-8.0.23-1.el7.x86_64.rpm--force--nodeps

rpm-ivhmysql-community-libs-compat-8.0.23-1.el7.x86_64.rpm

rpm-ivhmysql-community-client-plugins-8.0.23-1.el7.x86_64.rpm

rpm-ivhmysql-community-client-8.0.23-1.el7.x86_64.rpm

rpm-ivhmysql-community-server-8.0.23-1.el7.x86_64.rpm

安装完成后可以查看下已安装的组件

rpm -qa | grep mysql


之后mysql的配置同上所述

相关软件包(根据需要安装即可)

mysql-community-client-5.7.18-1.el7.x86_64.rpm 客户端

mysql-community-devel-5.7.18-1.el7.x86_64.rpm 开发库

mysql-community-embedded-5.7.18-1.el7.x86_64.rpm 嵌入式

mysql-community-server-5.7.18-1.el7.x86_64.rpm 服务端

mysql-community-libs-5.7.18-1.el7.x86_64.rpm 共享库

mysql-community-test-5.7.18-1.el7.x86_64.rpm 测试组件

三、MySQL相关配置修改

1.修改初始密码(若想改为弱密码)

SHOW variables LIKE 'validate_password%';


注:有可能遇到如下图情况,此时先修改密码为强密码,便可以继续进行修改密码验证策略操作


将密码验证策略改为LOW,密码长度4位以上

1 set global validate_password.policy=0;    #有的MySQL版本为validate_password_policy,此处请以上一步查询到的字段名称为准

2 set global validate_password.length=4; #重启MySQL后失效



此时再进行修改密码操作,可以修改为弱密码了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';

以后便可以使用你自己设置的密码登陆

按照上述步骤你可以修改密码为123456之类的密码。但是有时候我们为了方便记忆,可能想要把密码改为root之类的。这时候只操作上面步骤改不了。百度了很多文章都是修改上述两个策略。

这时候可以关闭检查

set global validate_password.check_user_name = 0;

其实一开始就可以直接关闭。不用设置set global validate_password.policy=0;set global validate_password.length=4;这俩。直接给检查关闭了。但是受5.7安装影响。首先想到的是更改这两个策略


2.设置远程连接(前提:关闭防火墙或开放3306端口)

先查看防火墙状态

firewall-cmd --state

状态结果。running为开启,not running为关闭

查看开放的端口号

firewall-cmd --list-all

设置开放的端口号

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙并查看是否生效

firewall-cmd --reload     

firewall-cmd --list-all


在实际工作中,经常会用到诸如DBeaver等的数据库管理工具进行远程连接mysql数据库,需要设置允许远程连接。

在mysql数据库的user表中查看host,默认只允许localhost访问



只需将localhost改为%允许任意地址访问即可

update user set host = '%' where user = 'root';

flush privileges;             # 刷新权限 权限更新后刷新才会起作用


注:如果使用客户端连接提示了plugin caching_sha2_password错误,这是因为MySQL8.0的密码策略默认为caching_sha2_password(MySQL5.7无此问题)

update user set plugin = 'mysql_native_password' where user = 'root';

flush privileges;             # 刷新权限 权限更新后刷新才会起作用


3.测试连接


4.my.cnf配置文件简介

前言:若使用rpm方式安装,可能无/etc/my.cnf配置文件,需将/usr/share/mysql目录下配置文件复制至/etc目录下

cp /usr/share/mysql/my-large.cnf /etc/my.cnf

[client]

port = 3306

socket = /var/run/mysql/mysql.sock

[mysqldump]

quick

max_allowed_packet = 16M

以上参数会被 MySQL 客户端应用读取,参数说明如下:

port:MySQL 客户端连接服务器端时使用的端口号,默认为 3306

socket:套接字文件所在目录

quick:支持较大的数据库转储,导出非常巨大的表时需要此项。

max_allowed_packet:服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要),每个连接独立的大小,大小动态增加。

[mysqld]

user = mysql

basedir = /usr/local/mysql

datadir = /mydata/mysql/data

port = 3306

server-id = 1

socket = /var/run/mysql/mysql.sock

上述参数说明如下:

user:mysqld 程序在启动后将在给定 UNIX/Linux 账户下执行。mysqld 必须从 root 账户启动才能在启动后切换到另一个账户下执行。mysqld_safe 脚本将默认使用 user=mysql 选项来启动 mysqld 程序。

basedir:指定 MySQL 安装的绝对路径;

datadir:指定 MySQL 数据存放的绝对路径;

port:服务端口号,默认为 3306

server-id:MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一。

socket:socket 文件所在目录

character-set-server = utf8mb4

collation-server = utf8mb4_general_ci

init_connect = 'SET NAMES utf8mb4'

lower_case_table_names = 1

key_buffer_size = 16M

max_allowed_packet = 8M

no-auto-rehash

sql_mode=TRADITIONAL

skip-grant-tables

character-set-server:数据库默认字符集

collation-server:数据库字符集对应一些排序等规则,注意要和character-set-server对应

init_connect:设置client连接mysql时的字符集,防止乱码

lower_case_table_names:是否对sql语句大小写敏感,1表示不敏感(MySQL8.0+需要初始化之前设置)

key_buffer_size:用于指定索引缓冲区的大小

max_allowed_packet:设置一次消息传输的最大值

no-auto-rehash:仅仅允许使用键值的UPDATES和DELETES

sql_mode:表示 SQL 模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度

skip-grant-tables:跳过密码验证 (平时不要开启,忘记root密码时再使用)

忘记root密码时:

重置root密码为空(开启skip-grant-tables)

UPDATE mysql.user SET authentication_string = '' WHERE user = 'root';

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容