安装Mysql 5.7

官方下载地址::https://downloads.mysql.com/archives/community/

选择centos7版本的yum源mysql配置文件,浏览器下载导入到服务器或者直接在服务器下载,虽然显示的是mysql80,不过没关系,里面包含mysql57版本的信息

wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

安装yum源mysql配置文件
在下载文件的目录下执行下面命令,安装yum源mysql配置文件

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

查看yum源mysql配置信息

yum repolist all | grep mysql

此时就有mysql的相关信息了,也可以在/etc/yum.repos.d/mysql-community.repo文件中看到mysql的相关信息

调整yum默认安装mysql版本为mysql57
上图可以看出,此时默认安装的是mysql80,我们要安装mysql57,需要调整mysql57为enabled
yum-config-manager命令不可用,先安装

yum -y install yum-utils

取消mysql80-community的默认安装

yum-config-manager --disable mysql80-community

使mysql57-community成为yum默认安装版本

yum-config-manager --enable mysql57-community


此时再查看,mysql57为enabled了

安装mysql

都准备好了,就可以正式安装mysql了

yum -y install mysql-community-server

可以看出,安装的时候是没有版本信息的,所有一定要先调整mysql的配置文件再安装

报错:仓库 "MySQL 5.7 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查仓库的公 钥 URL 是否配置正确
网上蛮多资料,但都没能解决问题,最后成功处理的方法记录下。
rm /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022


启动mysql

systemctl start mysqld.service

yum安装后就直接托管给systemctl了,在/lib/systemd/system/mysqld.service文件中可以看到真实配置的启动、关闭、重启等命令

查看运行状态

systemctl status mysqld.service

上图,表示正常运行了
找到mysql默认密码,第一次连接数据库的时候需要,之后就换成自己设置的

grep "password" /var/log/mysqld.log



连接数据库

此时需要用默认密码连接数据库

mysql -uroot -p

执行完以上命令会提示输入密码

修改密码级别

可选,默认的密码级别需要设置复杂的密码

set global validate_password_length=4;
set global validate_password_policy=0;

若想重启后仍有效,可以修改配置文件/etc/my.cnf,在[mysqld]节点增加如下配置

validate_password_length = 4
validate_password_policy = 0

修改密码

修改密码('root'@'localhost' 是user表中的一条数据的字段)

ALTER USER 'root'@'localhost' IDENTIFIED BY '自己的密码';

下面命令可以查看密码级别的相关配置,修改密码之前貌似不能查

SHOW VARIABLES LIKE 'validate_password%';

支持远程访问

相当于在user表中添加一条数据,'root'@'%'是这条数据的字段

grant all privileges on *.* to 'root'@'%' identified by '自己的密码' with grant option;

上面命令表示:root用户在所有主机(%)都可以用 自己的密码 登录,all privileges on *.*表示授所有权限

刷新系统权限等数据,使配置立即生效

flush privileges; 

此时就可以在在自己的电脑用客户端工具远程连接mysql了,要注意防火墙,阿里云还要配置出口安全策略

修改字符集

修改mysql的字符集,默认是Latin1,ISO-8859-1的简称,我们修改成utf8

使用status查看

status

退出mysql

exit

修改配置文件/etc/my.cnf,yum安装就会是这个目录下的文件

vi /etc/my.cnf

新增[client]节点

[client]
default-character-set=utf8

[mysqld]节点增加两行

character-set-server=utf8
collation-server=utf8_general_ci

保存修改,重启mysql

service mysqld restart

登录,再查看状态,就变成了utf8了,查看字符集还可以用以下命令

show variables like 'character%';

mysql5.6稳定版本

1、安装mysql rpm包仓库,centos自带mariadb用不习惯

rpm -ivh http://repo.mysql.com/yum/mysql-5.6-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm

2、安装mysql5.6

yum install -y mysql-community-server

3、启动数据库并开机启动

systemctl start mysqld
systemctl enable mysqld

4、进入数据库mysql
(1)、新安装的mysql会自带一个密码通过grep 'temporary password' /var/log/mysqld.log获取,如果是空的话需要我们修改my.cnf跳过密码登录
vim /etc/my.cnf,在[mysqld]下添加skip-grant-tables

 然后重新启动mysql

systemctl restart mysqld

(2)、进入数据库修改密码
mysql -uroot -p
use mysql;
update user set password=password('123@admin') where user='root';
flush privileges;
quit;

然后去掉skip-grant-tables重新重启mysql通过上面的密码重新进入数据库