centos7.8安装mysql5.7.3(离线安装)
一、下载mysql5.7
1.下载地址
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
2.上传至服务器
安装包md5值校验(可以不操作)
从 MySQL 官网获取 mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar 安装包的 MD5 值
服务器上执行 MD5 值校验
3.解压压缩包
解压命令
tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
说明
#mysql5.7.30各个组件说明
mysql-community-server #数据库服务器和相关工具
mysql-community-client #MySQL 客户端应用程序和工具
mysql-community-common #服务器和客户端通用的库文件
mysql-community-devel #MySQL 数据库客户端应用程序开发的头文件和库文件
mysql-community-libs #用于 MySQL 数据库客户端应用程序的共享库
mysql-community-libs-compat #对于之前 MySQL 安装的共享兼容性库
mysql-community-embedded #MySQL 嵌入式库
mysql-community-embedded-devel #嵌入式的 MySQL 开发头文件和库文件
mysql-community-test #MySQL 服务器的测试套件
#通常来讲,为了满足绝大部分场景需求,建议至少安装下列的这些 RPM 包,以获得功能强大的 MySQL 标准安装特性。
mysql-community-server
mysql-community-client
mysql-community-libs
mysql-community-common
mysql-community-libs-compat
mysql-community-devel
4. 卸载CentOS7系统自带的mariadb,否则报错
# 查看系统自带的Mariadb
[root@CDH-141 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
# 卸载系统自带的Mariadb(rpm -e --nodeps)
[root@CDH-141 ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
# 删除etc目录下的my.cnf
[root@CDH-141 ~]# rm /etc/my.cnf
#检查mysql是否存在
[root@CDH-141 ~]# rpm -qa | grep mysql
#查看用户和组是否存在(可以省略)
[root@CDH-141 ~]# cat /etc/group | grep mysql
[root@CDH-141 ~]# cat /etc/passwd | grep mysql
#若不存在,则创建mysql组和用户(可以省略)
[root@CDH-141 ~]# groupadd mysql # 创建mysql用户组
[root@CDH-141 ~]# useradd -g mysql mysql # 创建一个用户名为mysql的用户,并加入mysql用户组
[root@CDH-141 ~]# passwd mysql # 制定password 为111111 (用户mysql的密码)
5.安装
然后依次执行以下命令
rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
安装第5条时出现以下错误
则执行以下命令
yum install net-tools.x86_64 -y
5.查看安装情况
就此安装成功了!!!
二、启动mysql服务
1.启动指令
systemctl start mysqld.service
2.查看初始密码(要记住这个密码之后会用到)
cat /var/log/mysqld.log | grep password
3.重置密码
编辑mysql的配置文件
vim /etc/my.cnf
#添加密码验证插件
plugin-load-add=validate_password.so
#服务器在启动时加载插件,并防止在服务器运行时删除插件
validate-password=FORCE_PLUS_PERMANENT
然后保存退出,重启mysql
systemctl restart mysqld
4.重启完之后进入mysql服务器,设置新密码
#进入mysql,密码是刚查看的默认初始密码
mysql -uroot -p
#修改验证策略为low
set global validate_password_policy=0;
#修改最短密码长度为1
set global validate_password_length=1;
#设置新密码的指令
alter user 'root'@'localhost' identified by '123456';
5.设置完成后重新进入mysql服务器,输入新的密码进行登录
三、设置mysql中文编码
编辑配置文件
vim /etc/my.cnf
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
然后保存退出,重启mysql
mysql 重启命令
systemctl restart mysqld
四、设置mysql开机启动
修改rc.local
vim /etc/rc.local
自此 mysql5.7 安装完成!!!
五、目录说明
六、mysql优化配置
#查看默认数据存储目录
select @@datadir;
#或者
#修改mysql配置文件
vim /etc/my.cnf配置文件为:/etc/my.cnf;
[mysql]
socket=/home/mysqldata/mysql/mysql.sock
[mysqld]
datadir=/home/mysqldata/mysql
socket=/mysqldata/mysql/mysql.sock
my.cnf配置文件详解
#skip-grant-tables
server-id = 2
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
#慢查询
slow_query_log_file=/home/tools/mysql/data/localhost-slow.log
long_query_time = 2
#跳过外部锁定 单服务器推荐禁用,即本例; 多服务器推荐启用,即默认
skip-name-resolve
port=3306
socket=/var/lib/mysql/mysql.sock
max_connections=3000
character-set-server=utf8
default-storage-engine=INNODB
#大小写敏感 表名在硬盘上以小写保存 名称比较对大小写不敏感
lower_case_table_names=1
# max_allowed_packet=16M
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#索引的缓存区大小
key_buffer_size = 512M
#最大处理信息包大小,默认16MB
max_allowed_packet = 1M
#表打开之后缓存数据大小
table_open_cache = 256
#数据排序缓存大小,order by 和 group by排序,
sort_buffer_size = 32M
#全表扫描时,对应线程的缓存大小
read_buffer_size = 4M
#排序之后,读取行数据的缓冲大小
read_rnd_buffer_size = 8M
#此缓冲当MySQL需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配
myisam_sort_buffer_size = 64M
#可以复用的保存在缓存中的线程数量
thread_cache_size = 16
#查询缓存大小
query_cache_size= 64M
#二进制日志自动删除/过期的天数
expire_logs_days = 30
#最大管理语句缓存,发生事物时非事物语句的缓存大小
max_binlog_stmt_cache_size = 4G
#最大事物缓存的大小
max_binlog_cache_size =4G
#服务器逻辑CPU数量 x 2
#thread_concurrency = 16
#打开二进制日志功能
log-bin=mysql-bin
server-id=999
#混合模式复制
binlog_format=mixed
#每进行1次事务提交之后,mysql将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。
sync_binlog=1
#从库是否同步主库的操作日志
log-slave-updates
#表示自增长字段每次递增的量
auto-increment-increment=2
#表示自增长字段从那个数开始
auto-increment-offset=1
#缓存区大大小
innodb_buffer_pool_size = 512M
#启用独立表空间
innodb_file_per_table=1
#解决主从库中函数function创建不成功
log-bin-trust-function-creators=1
event_scheduler = ON
#关闭非交互连接之前等待的时间
wait_timeout=31536000
#关闭交互连接之前等待的时间
interactive_timeout=31536000
#order by函数的支持
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
一条命令卸载
rpm -e mysql-community-{server,client,common,libs,libs-compat,devel} --nodeps
MySQL开启audit审计功能
https://www.jianshu.com/p/45b37a73e286
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)