yum源安装(简单)
这个直接参考ECS首页有安装步骤,只是可能会调整一些用户权限方面的设置
# 安装源, 目前版本是5.7
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
# 启动mysql
service mysqld start
# 查看初始密码并登陆到mysql
grep "password" /var/log/mysqld.log
mysql -uroot -p
# 修改密码安全级别
set global validate_password_policy=0;
# 这里没有把root用户暴露出去远程访问,创建新用户给项目使用并收缩权限
CREATE USER develop IDENTIFIED BY '12345678';
# 授权,非当前服务器上连接mysql只能使用select,insert,update权限
grant select,insert,update on *.* to develop@"%" Identified by "12345678";
# 上面的%是不包含localhost的, 如果项目运行在本机的话,这里可以将权限下,否则修改上述权限
grant all privileges on *.* to develop@"localhost" Identified by "12345678";
# 刷新权限
flush privileges;
安装后几个重要的目录
- /var/lib/mysql/ 数据目录
- /etc/my.cnf 配置文件
下载安装(推荐)
不再使用系统集成好的软件源包,直接到官网下载包,然后解压安装,可以选择自己想要的版本。
这里下载安装最新版本8.0.22
官方安装手册: https://dev.mysql.com/doc/refman/8.0/en/linux-installation.html
最新下载地址: https://dev.mysql.com/downloads/mysql/
历史版本下载地址选择: https://downloads.mysql.com/archives/community/
选择版本
选择rpm包下载,这个可以选择不登录依然下载,下载地址为https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
rpm安装手册 https://dev.mysql.com/doc/refman/8.0/en/linux-installation-rpm.html
# 创建安装mysql的目录
mkdir -p /opt/mysql
cd /opt/mysql
# 下载rpm集成包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
# 解压
tar -vxf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
# 安装rpm包,注意这里是有依赖顺序的
sudo yum install mysql-community-{server,client,common,libs}-*
# 启动mysql服务
systemctl start mysqld
# 查看临时root密码
sudo grep 'temporary password' /var/log/mysqld.log
# 登录mysql服务, 使用上面查看的密码登录,注意一般密码最后有个点,那也是密码的一部分
mysql -uroot -p
# 修改密码安全级别
set global validate_password_policy=0;
# mysql8 授权要先创建用户,再进行授权,必须分开,否则会报错
# 这里没有把root用户暴露出去远程访问,创建新用户给项目使用并收缩权限
CREATE USER 'develop'@'%' identified by '12345678';
# 测试下来, %是不包括localhost的,且%和localhost的同一个用户名其实是两个帐号,要分开操作
CREATE USER 'develop'@'localhost' identified by '12345678';
# 授权
grant select,insert,update on *.* to develop@"%" WITH GRANT OPTION;
# %是不包含localhost的,这是针对localhost的develop的权限
grant all privileges on *.* to develop@"localhost" WITH GRANT OPTION;
# 修改密码插件规则,否则客户端工具会连接不上
alter user 'develop'@'%' identified with mysql_native_password by '12345678';
# 刷新权限
flush privileges;
安装后重要文件目录
- /var/lib/mysql 数据目录
- /etc/my.cnf 配置文件
- 错误日志文件 /var/log/mysql/mysqld.log