一. 下载mysql
https://downloads.mysql.com/archives/community/
软件 | 版本 | centos环境 |
---|---|---|
mysql | 5.7.19.el7.x86_64 | el7 |
二. 环境准备
- 使用Centos7.9环境
- 使用 5.7.5.el7.x86_64 mysql包
三. 卸载旧版本
3.1 查看linux上是否已经安装了mysql,有则卸载。
一般centos7默认安装了mariadb,这里把它卸载。
查看:[root@localhost bin]# rpm -qa|grep mariadb
卸载:[root@localhost bin]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3.2 安装mysql5.7所需要的依赖
[root@localhost src]# yum install -y libaio
[root@localhost src]# yum install -y perl
[root@localhost src]# yum install -y net-tools
3.2 卸载旧包(可以忽略)
- 检查是否存在旧mysql
rpm -qa|grep -i mysql
- 依次卸载
rpm -e –nodeps 包名
#如果提示错误,尝试用下列命令执行
rpm -ev 包名 --nodeps
rpm -e --noscripts 包名
- 查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
# 查询
find / -name mysql
# 显示下列结果
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
# 依次删除
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/lib64/mysql
四. 开始安装
1.上传压缩文件到服务器并解压压缩文件到当前目录
tar -xvf MySQL-5.7.5-m15-0.6.m15.el7.x86_64.rpm-bundle.tar
2.安装
rpm -ivh mysql-community-common-5.7.5-0.6.m15.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.5-0.6.m15.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.5-0.6.m15.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.5-0.6.m15.el7.x86_64.rpm
如果出现报错需要依赖包执行:3.2 安装mysql5.7所需要的依赖
4.3 查看mysql5.7的状态,没有启动则把mysql启动
查看mysql启动状态
[root@localhost src]#systemctl status mysqld
启动mysql active(running)代表启动成功
[root@localhost src]# systemctl start mysqld
4.4 修改密码
查看临时密码:得知临时密码就是如图
[root@localhost src]# grep password /var/log/mysqld.log
用临时密码登录mysql
[root@localhost src]# mysql -uroot -p
修改成新的密码
mysql> set password = password("Szfore_68638");
如果没查到临时密码跳过密码验证修改密码
#跳过密码验证
vim /etc/my.cnf
[mysqd]
skip-grant-tables
#新建用户
[root@localhost src]# mysql -uroot -p
MySQL [(none)]> CREATE USER 'centos'@'%' IDENTIFIED BY 'DUxrS97MibDqweqeqdddWht';
MySQL [(none)]> GRANT ALL ON *.* TO 'centos'@'%';
MySQL [(none)]> flush privileges;
4.5 (参考忽略)配置mysql的配置文件my.cnf(用默认的也行,个人觉得配置一下好一些)
/etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysql]
[mysqld]
#设置端口
port = 3306
#数据存储路径
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#错误日志路径
log-error=/var/log/mysqld.log
#日志路径
pid-file=/var/run/mysqld/mysqld.pid
disable-partition-engine-check=1
#只能用IP地址检查客户端的登录,不用主机名
skip_name_resolve = 1
##数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server=utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server=utf8mb4_general_ci
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names=1
#最大连接数
max_connections=400
##最大错误连接数
max_connect_errors=1000
#SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet=128M
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout=1800
wait_timeout=1800
#mysql binlog日志文件保存的过期时间,过期后自动删除
expire_logs_days=5
############################主从复制 设置########################################
#开启mysql binlog功能
#log-bin=mysql-bin
#binlog记录内容的方式,记录被操作的每一行
#binlog_format = ROW
##作为从库时生效,想进行级联复制,则需要此参数
#log_slave_updates
#作为从库时生效,中继日志relay-log可以自我修复
#relay_log_recovery = 1