centos7默认安装了mariadb,以下步骤安装mysql后,会覆盖mariadb,本教程也适用mysql其他版本的数据库。我尝试过以常规rpm安装包进行,但依赖太多解决起来很麻烦,故选yum仓库安装是最方便直接的。具体安装步骤可以参考mysql官网yum安装指导,这篇文章是我从官网翻译过来的。
Mysql安装步骤
1. 添加Mysql yum仓库
下载并安装yum仓库
#下载rpm包
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
#安装rpm包获得yum仓库
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
2. 选择一个发行版
修改配置文件,选择mysql5.7版本
#修改/etc/yum.repos.d/mysql-community.repo配置文件,启用你想安装的mysql版本,这里我们选择mysql5.7
vi /etc/yum.repos.d/mysql-community.repo
这里将mysql80的enable改为0,mysql57的enable改为1,启用mysql5.7,如下图:
验证修改是否准确,使用如下命令
#验证是否mysql5.7已启用
yum repolist enabled | grep mysql
3. 安装mysql
安装mysql,会自动解决依赖包,如果网络异常,重新执行该命令继续下载即可
#安装mysql
yum install mysql-community-server
4. 启动mysql
启动mysql并检查状态
#启动mysql
systemctl start mysqld.service
#检查状态
systemctl status mysqld.service
mysql默认创建了'root'@'localhost'账号,并创建了临时密码,密码打印在mysql日志中,找到并修改密码
#找到临时密码
grep 'temporary password' /var/log/mysqld.log
#输入以下命令,用上面的密码登陆mysql
mysql -uroot -p
登陆mysql后,修改密码
注意,这里的密码至少包含一位数字,一位大写字母,一位特殊符号,总长度大于8个字符
--修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
至此,mysql5.7安装完成,可以本地通过localhost访问。
5. 报错解决
若是在虚拟机中安装的mysql,用主机的navicat连接虚拟机的MySQL时会报错,如下图。
- 2003 - Can't connect to MySQL server on 'slaver1'(10060 "Unkonwn error")
关闭防火墙即可,或打开3306端口的访问。
#打开3306端口,重启防火墙,或者直接关闭防火墙,二选一即可
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld
#关闭防火墙,或者选择打开3306接口访问,二选一即可
systemctl stop firewalld
解决了防火墙原因,重新使用navicat连接,发现还有一个报错,原因是mysql限制了远程连接,报错如下
-
1130 - Host '192.168.138.1' is not allowed to connect to this MySQL server
到虚拟机上登陆mysql更改mysql配置,如下
#使用账号密码登陆mysql
mysql -uroot -p
登陆后,mysql命令如下
---选择数据库
use mysql;
--允许任何主机连接
update user set host='%' where user='root';
--刷新权限
flush privileges;
重新用navicat连接即可,点击navicat连接测试,连接成功如下。
至此,MySQL5.7安装完成