Centos8安装MySQL8(社区版)

一、安装

1.安装软件包

wget https://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm
rpm -ivh mysql80-community-release-el8-1.noarch.rpm
yum install mysql-server --disablerepo=appstream -y

--disablerepo=appstream :排除appstream 仓库安装

设置开机启动

systemctl enable mysqld.service

 2.开启允许本地导入数据的配置,并设置最大连接数

vim /etc/my.cnf
末尾新增
[mysqld]
local-infile = 1
max_connections=1000 

或者使用MySQL8新特性之持久化修改最大连接数

set persist max_connections=1000; 

启动MySQL

systemctl start mysqld.service

 查看是否启动

ps -ef|grep mysql

 (Centos8跳过此步骤)查看root默认密码

 cat /var/log/mysql/mysqld.log

 

参考:https://www.cnblogs.com/ttrrpp/p/12173562.html

3.重置root密码

mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

4.开启远程连接

use mysql;
update user set host='%' where user='root';
select host,user from user;

5.刷新

FLUSH PRIVILEGES;

6.查看是否开启本地导入配置

SHOW GLOBAL VARIABLES LIKE '%local%';

7.安装完毕

使用Navicat链接测试,如果连接不上,请先关闭服务器防火墙或添加防火墙出站规则。

二、插件(可选)

1.开启密码策略

安装插件

INSTALL COMPONENT 'file://component_validate_password';

查看策略

SHOW VARIABLES LIKE 'validate_password.%';

修改/etc/my.cnf

在[mysqld]中添加
validate_password.mixed_case_count=0

 

解释: 由于valiadte_password策略。密码强度需要非常高,所以有时候密码都无法成功修改。了解完下面变量就能解决了。

 

    • validate_password.policy:密码策略,检查用户的密码。

      • 0:(Low)密码长度最少8个字符
      • 1:(Mediumpolicy)至少包含1个数字,1个小写字母,1个大写字母和1个特殊字符组成(默认值)
      • 2:(Strongpolicy)长度为4或更长的密码子字符串不得与字典文件中的单词匹配
    • validate_password.length:需要密码最小字符数,默认为8

    • validate_password.number_count:需要密码的最小数字字符数,默认为1

    • validate_password.mixed_case_count:需要密码的小写和大写的最小字符数,默认为1

    • validate_password.special_char_count:需要密码的特殊字符的最小字符数,默认为1

    • validate_password.dictionary_file:用于检查密码的字典文件的路径名,默认没有

三、常用命令

查看最大连接数

show variables like 'max_connections';

查看已使用连接数

show status like 'max%connections';

 查看状态

show status like '%下面变量%'

Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过long_query_time时间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒。

四、常用的配置项参考

 1、配置密码定期更换

在/etc/my.cnf配置文件中增加
[mysqld]
default_password_lifetime=90  # 90天过期

 

posted @ 2021-03-01 16:18  b̶i̶n̶g̶.̶  阅读(78)  评论(0编辑  收藏  举报