CentOS 7 安装 MySQL 8.0/5.7

本文参考自MySQL官方文档: A Quick Guide to Using the MySQL Yum Repository

  1. 在线安装(不会魔法的不推荐用在线安装,请看下文的离线安装)。

MySQL Yum存储库官方下载地址: https://dev.mysql.com/downloads/repo/yum

// 1.下载并安装MySQL Yum存储库(本质是创建.repo配置文件)
shell> wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
shell> rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

// 2.选择MySQL版本(本质是编辑.repo配置文件)(不需要切换版本的请跳到第3步)
// a.查看Yum存储库中的所有可用子存储库
shell> yum repolist all | grep mysql
// b.将启用的子存储库切换到5.7发布版本
shell> yum-config-manager --disable mysql80-community
shell> yum-config-manager --enable mysql57-community
	如果遇到以下报错:
	-bash: yum-config-manager: command not found
	则需安装yum-utils软件包:
	shell> yum -y install yum-utils
// c.查看确认Yum存储库中的已启用子存储库
shell> yum repolist enabled | grep mysql

// 3.在线安装MySQL
shell> yum -y install mysql-community-server
  1. 离线安装(推荐,可从各大镜像站中获取)。

MySQL RPM Package官方下载地址: https://dev.mysql.com/downloads/mysql
MySQL RPM Package历史版本官方下载地址: https://downloads.mysql.com/archives/community


// 1.清理MariaDB和MySQL
// a.检索是否存在MariaDB和MySQL,如果已存在则进行卸载。
shell> rpm -qa | grep mariadb
shell> rpm -qa | grep mysql
shell> rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
// b.检索是否有MariaDB和MySQL的残余文件,如果有则进行删除。
shell> find / -name mariadb
shell> find / -name mysql
shell> rm -rf /usr/lib64/mysql

// 2.下载上图中红圈内的4个RPM包,也可以直接下载RPM Bundle(包含所有RPM包),假如你不嫌它体积太大的话。
// RPM包可从各大镜像站中获取,找和上图细红圈中的名字一样的文件就对了。(这里不演示)
shell> wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-common-8.0.21-1.el7.x86_64.rpm
shell> wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-libs-8.0.21-1.el7.x86_64.rpm
shell> wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-client-8.0.21-1.el7.x86_64.rpm
shell> wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.21-1.el7.x86_64.rpm

// 3.离线安装MySQL(按顺序common->libs->client->server,安装上面下载的4个RPM包)
shell> yum -y install mysql-community-common-8.0.21-1.el7.x86_64.rpm mysql-community-libs-8.0.21-1.el7.x86_64.rpm mysql-community-client-8.0.21-1.el7.x86_64.rpm mysql-community-server-8.0.21-1.el7.x86_64.rpm
  1. 启动MySQL服务器,修改root用户的初始密码。
shell> systemctl start mysqld.service
shell> systemctl status mysqld.service

// 使用grep命令在mysqld.log中检索出来的信息内有root用户的初始密码,请自行查看并使用该密码登录
shell> grep 'temporary password' /var/log/mysqld.log
shell> mysql -uroot -p
// 修改root用户密码
mysql> alter user 'root'@'localhost' identified by '${new password}';
  1. 创建允许远程访问的新用户,并为新用户授予权限。
// 创建新用户
mysql> create user '${username}'@'%' identified by '${password}';
// 授予权限
mysql> grant all privileges on *.* to '${username}'@'%';
// 刷新权限
mysql> flush privileges;
// 退出
mysql> exit;

root用户(‘root’@‘localhost’)只允许本地localhost访问,新用户(‘username’@’%’)设为’%'允许所有ip访问。
每次更改权限后,一定要使用 flush privileges; 刷新权限

  1. 开放firewall防火墙3306端口。
// 开放3306端口
shell> firewall-cmd --add-port=3306/tcp --zone=public --permanent
// 重启防火墙
shell> firewall-cmd --reload

至此安装完成。

  1. 附录(以上安装过程用到语法的解释,非安装步骤)。
// 创建MySQL新用户
create user '用户名'@'允许访问的ip,%为所有' identified by '密码';
create user 'username'@'%' identified by 'password';
create user 'username'@'127.0.0.1' identified by 'password';
// 授予MySQL用户权限
grant 权限 on 数据库名.表名 to '用户名'@'允许访问的ip,%为所有';
grant all privileges on *.* to 'username'@'%';
grant select,insert on database.table to 'username'@'127.0.0.1';
// 刷新MySQL权限
flush privileges;
// firewall-cmd命令
--add-port=3306/tcp // 开放端口:端口号/通信协议
--zone=public // 作用域为全局
--permanent // 永久生效,重启后不会失效
--reload // 重启
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值