Cenos上使用yum安装MySQL8

首先,需要找到Mysql的安装源。打开MySQL下载页面,选择MySQL yum repositry

https://dev.mysql.com/downloads/

我的服务器版本是 Centos7.6,所以选择Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package

点击旁边的下载,但不是为了真的下载,而是为了获得下载地址。复制下载地址

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

使用root登陆到Centos服务器,开始安装MySQL8

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

yum install mysql-community-server

安装结束,查看一下mysql的版本

mysqld -V

/usr/sbin/mysqld  Ver 8.0.18 for Linux on x86_64 (MySQL Community Server - GPL)

启动与停止

systemctl start mysqld

systemctl stop mysqld

查找数据库初始密码

grep 'temporary password' /var/log/mysqld.log

2019-11-13T02:15:27.069308Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: JKd923232l136

本地MySQL客户端登录:

mysql -uroot -p

输入密码,如果没有,直接回车,然后输入命令

flush privileges

修改root登录密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

(注意要切换到mysql数据库,使用use mysql)

注意:开始遇到问题是不输入密码或输错密码都能连接MySQL server,后来在修改允许阿里CentOS7允许远程操作MySQL数据库时,

才发现需要去调整 /etc/my.cnf文件,注释掉skip-grant-tables,重启MySQL服务(sudo service mysqld restart),quit退出连接,重新连接就需要输入密码了

后期如果忘记密码,可以通过skip-grant-tables配置跳过输入密码登录MySQL,执行7、8步进行修改,如果'root'@'localhost'变为'root'@'%',那么alter语句中的也要修改

配置MySQL允许外部访问:

  • 1)首先设置阿里云安全组规则入方向,支持MySQL端口3306可访问(协议类型下拉菜单中有MySQL端口)

  • 2)服务端登录MySQL,use mysql;然后执行select user,host from user可查看用户及对应允许访问主机

然后执行update user set host = '%' where user ='root';允许任何外部可访问;再执行上一步查看命令,可比较结果

补充:show global variables like 'port';

可查看MySQL服务端口,如果看到的value为0,则说明没有使用密码登录,需要去修改my.cnf文件;

my.cnf文件也可以通过port=3306来指定MySQL服务端口,重启MySQL服务即可