MySQL安装方式

RPM

优点: 安装简单

缺点: 需要单独下载客户端和服务器;安装路径不灵活,默认路径不能修改,一台服务器只能装一个mysql

二进制

优点: 安装简单,可以安装到任何路径下,灵活性好;一台服务器可以安装多个mysql

缺点: 已经编译好,性能不如源码编译;不能灵活定制编译参数

源码

优点: 可根据实际环境需求定制编译参数,最灵活;一台服务器可以安装多个mysql

缺点: 安装过程较复杂,编译时间较长

RPM安装

1.配置安装源

官方yum源

官方地址:http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

下载软件:

rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm

安装:

注意:现在直接下载最新版(现在是8.0版)的yum源安装包,安装完后修改yum源配置文件为5.7即可

vim /etc/yum.repos.d/mysql-community.repo

修改:

注: enable 后的值 0为关闭,1为启动

注: 记得关闭gpgcheck

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch
enabled=1			//启动1,关闭0
gpgcheck=0			//校验key
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch
enabled=0			//使用哪个版本就开启哪一个,并关闭另一个
gpgcheck=1			
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

修改完后执行

yum install -y mysql-community-server

不用 rpm -ivh 是因为yum可以解决MySQL需要安装的依赖问题

国内yum源

cd /etc/yum.repos.d/
vim mysql.repo

添加:

[mysql]
name=mysql
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
enabled=1
gpgcheck=0		//建议关闭
gpgkey=https://mirrors.ustc.edu.cn/mysql-repo/RPM-GPG-KEY-mysql

2.安装软件

yum repolist enabled | grep mysql		 //查找已启用的 Yum 软件包仓库中是否存在与 "mysql" 相关的仓库

yum -y install mysql-community-server

systemctl start mysqld	//第一次启动会自动始化数据库  

systemctl enable   mysqld //开机自启

grep password /var/log/mysqld.log  //过滤初始密码

3.修改密码

5.7默认有临时密码,需要修改,有两种方式:

第一种

mysql -uroot -p'临时密码'
mysql> alter user 'root'@'localhost' identified by '新密码';

第二种(推荐)

mysqladmin -u root -p'临时密码' password '新密码'

关闭弱密码限制

rpm安装的5.7如下方式修改
vim /etc/my.cnf
//添加
validate_password=off

编译安装的5.7如下方式修改
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

[mysqld_safe]
validate_password=off