centos7安装mysq5.7

官网5.7版本:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
可以使用xftp上传到Linux中
创建mysql 安装目录

mkdir mysql

为了避免出现权限问题,给mysql解压文件所在目录赋予最大权限

chmod -R 777 mysql

使用tar命令解压

tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述
安装新版mysql前,需将系统自带的mariadb-lib卸载

rpm -qa|grep mariadb

在这里插入图片描述

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

在这里插入图片描述
严格按照顺序安装:mysql-community-common-5.7.29-1.el7.x86_64.rpm、mysql-community-libs-5.7.29-1.el7.x86_64.rpm、mysql-community-client-5.7.29-1.el7.x86_64.rpm、mysql-community-server-5.7.29-1.el7.x86_64.rpm这四个包

rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm

如果安装过程中出现这个错误就在后面添加 --force --nodeps,这可能是由于yum安装了旧版本的GPG keys造成的
在这里插入图片描述

rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm --force --nodeps

修改相关配置

vim /etc/my.cnf

添加这三行
skip-grant-tables:跳过登录验证
character_set_server=utf8:设置默认字符集UTF-8
init_connect=‘SET NAMES utf8’:设置默认字符集UTF-8

skip-grant-tables
character_set_server=utf8
init_connect='SET NAMES utf8'

在这里插入图片描述
设置开机启动

systemctl start mysqld.service

启动mysql

mysql -uroot

先设置一个简单的密码

update mysql.user set authentication_string=password('123456') where user='root';

在这里插入图片描述
立即生效

flush privileges;

在这里插入图片描述
退出mysql并停止mysql服务

退出命令 quit
停止mysql 
systemctl stop  mysqld.service

在这里插入图片描述
编辑my.cnf配置文件将:skip-grant-tables这一行注释掉
重启mysql服务

systemctl start mysqld.service

再次登录mysql

mysql -uroot -p123456

开启远程访问权限

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

结果报了这个错误:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before

使用的是mysql 5.7所以需要及时修改初始化密码不然操作什么都会报错在这里插入图片描述
如果你想要设置一个简单的测试密码的话,比如设置为123456,会提示这个错误,报错的意思就是你的密码不符合要求

mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这个其实与validate_password_policy的值有关。
validate_password_policy有以下取值:
在这里插入图片描述
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
必须修改两个全局参数:

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

validate_password_length(密码长度)参数默认为8,我们修改为1

mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

完成之后再次执行修改密码语句即可成功

mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

设置立即生效

flush privileges;

再设置远程访问权限 设置成功

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值