MySQL数据库版本
https://dev.mysql.com/
https://dev.mysql.com/downloads/
https://dev.mysql.com/downloads/mysql/
https://dev.mysql.com/downloads/mysql/8.0.html
https://dev.mysql.com/downloads/mysql/5.7.html
MySQL数据库rpm包仓库
https://repo.mysql.com
一、Windows下载MySQL Community Server 8.0.26
https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.26-winx64.zip
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.35-winx64.zip
二、Linux下载mysql-community-server-8.0.26-1.el7.x86_64.rpm
三、yum安装mysql8
1、查看当前Linux系统版本
# 查看操作系统版本
cat /etc/redhat-release
# 查看操作系统32/64位
uname -m
例子:
[root@cwh /]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@cwh /]# uname -m
x86_64
2、下载mysql80-community-release-el7-3.noarch.rpm
https://dev.mysql.com/downloads/repo/yum/
https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
https://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
wget https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
3、安装mysql源
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
sudo yum localinstall mysql-community-release-el7-5.noarch.rpm
安装完成之后,会在 /etc/yum.repos.d/ 目录下新增mysql-community.repo和mysql-community-source.repo两个yum源文件。
检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
看到上图所示表示安装成功。
可以修改vim /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。
比如要安装8.0版本,将5.7源的enabled=1改成enabled=0。然后再将8.0源的enabled=0改成enabled=1即可。
4、安装MySQL
yum -y install mysql-community-server
检查mysql是否安装成功
rpm -qa | grep mysql
5、启动MySQL服务
systemctl status mysqld
systemctl start mysqld
systemctl start mysqld.service
service mysqld start
检查是否有mysql进程启动
netstat -tunlp | grep mysql
systemctl status mysqld #查看mysql运行状态
systemctl start mysqld.service #启动mysql服务
systemctl restart mysqld.service #重启mysql
systemctl stop mysqld.service #停止mysql
systemctl enable mysqld.service #设置mysql开机启动
6、设置开机启动mysql
systemctl enable mysqld
systemctl daemon-reload
7、修改root本地登录密码
①查看root账户的临时密码
vim /var/log/mysqld.log
grep 'temporary password' /var/log/mysqld.log
②登录mysql
mysql -u root -p
输入①的初始密码,成功登录mysql。
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'aA@123456';
或者
set password for 'root'@'localhost'=password('aA@123456');
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
8、修改密码默认策略要求(不需要修改策略的可以跳过这步)
①查看密码策略规则
SHOW VARIABLES LIKE 'validate_password%';
validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个
上述参数是默认策略MEDIUM的密码检查规则。
选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件validate_password_dictionary_file
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:
validate_password = off重新启动mysql服务使配置生效:
systemctl restart mysqld
MySQL官网密码策略详细说明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy
②修改密码策略
set global validate_password.check_user_name=OFF;
set global validate_password.policy=LOW;
set global validate_password.length=4;
flush privileges;
③修改密码(简单的密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
或者
set password for 'root'@'localhost'=password('1234');
查看数据库默认编码
SHOW VARIABLES LIKE '%character%';
9、设置允许远程登录
select * from mysql.user;
select user, host from mysql.user;
use mysql;
update user set host='%' where user='root';
grant all on *.* to 'root'@'%';
grant all privileges on *.* to 'root'@'%';
flush privileges;
关闭防火墙
systemctl status firewalld
systemctl stop firewalld
10、更改密码加密方式(可以远程用navicat连接)
use mysql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid