本文用到的是华为云服务器,以centos8为例,接下来将详细演示安装mysql8版本。
1.查看用户下是否安装MySQL
检查代码,如果如下面图例,则继续下面步骤
rpm -qa | grep mysql
2.下载 MySQL8的 Yum 源文件
首先,访问 MySQL 的官方网站,MySQL :: Download MySQL Yum Repository按照下图操作
我用的服务器是centos8,请根据 CentOS 版本和 MySQL 版本选择合适的源文件。
使用 wget 命令从命令行下载 MySQL Yum 存储库的 repo 源文件。
注意:将wget后面的替换成上图复制的链接地址嗷!
3.安装 Yum 源
下载完成后,使用以下命令安装 Yum 源:
rmp -Uvh mysql80-community-release-el8-9.noarch.rpm
关于.rpm如何获得,下面图例详解,进入安装目录,浏览就能找到下载的rpm包啦,复制路径!
4.使用 Yum 安装 MySQL 8
安装 MySQL 服务器软件包命令如下
yum -y install mysql-community-server
5.禁用默认MySQL模块
如果不禁用会导致安装包找不到嗷,这一步尊的重要!
yum -y module disable mysql
6.启动 MySQL 服务
sudo systemctl start mysqld
7.检查 MySQL 服务状态
sudo systemctl status mysqld
出现下面一样滴,一切正常,辣么恭喜你MySQL启动成功!撒花撒花~
8.查看临时密码
sudo cat /var/log/mysqld.log | grep password
临时密码就是红框框里的,复制它!
9.使用临时密码登录MySQL
如图例,就说明你成功进入mysql辽~
mysql -u root -p
10.修改密码
alter user 'root'@'localhost' identified by '密码';
常见错误
错误代码1819,说明你的密码不符合MySQL密码强度要求,需要用上面的代码重新修改密码。
错误代码1820,表示你在执行某些操作之前必须先使用ALTER USER语句重置密码。这通常发生在MySQL要求用户更改密码后,用户没有按照要求去做,而是尝试执行其他数据库操作。需要用上面的代码重新修改密码。
错误代码1064,表明你在尝试执行 MySQL 命令时遇到了语法错误。这是因为你在一个命令的输入过程中尝试执行另一个命令,而没有正确地结束第一个命令。这个时候只需要Enter,再次重新输入命令。
11.修改密码强度
如果你不想辣么复杂的密码,你可以直接修改MySQL的密码强度要求,但是进行以下操作之前,你必须保证你已修改好符合MySQL要求的密码,注意:一定是修改好了,被认可之后再进行操作
首先,你需要检查你的MySQL版本是否支持validate_password
插件。你可以通过运行下面的命令来查看你的MySQL版本
SELECT VERSION();
如果你的MySQL版本支持validate_password
插件,你需要确保这个插件已经被安装并启用。你可以通过运行下面的命令来查看已安装并启用的插件
SHOW PLUGINS;
在返回的列表中,你应该能看到validate_password
插件。如果插件没有被启用,你可以通过下面的命令来启用它
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
然后你可以尝试设置validate_password_policy
系统变量
SET GLOBAL validate_password_policy=LOW;
这样密码就只会要求长度了嗷,可以再次用上面修改密码的命令,算啦,我搬下来吧
alter user 'root'@'localhost' identified by '密码';
12.使用远程客户端远程访问MySQL
在登录进MySQL后,输入以下命令为root账号增加远程登录权限,成功如下图。
use mysql;
update user set host='%' where user='root';
FLUSH PRIVILEGES;
flush privileges;
使用navicat连接到MySQL,步骤如下图
接下来连接成功了嗷就!
如果连接不成功,请好好检查
你的主机是不是填的公网IP?
用户名和密码是不是刚刚在数据库里改好滴呢?
端口是不是3306呢,你的3306防火墙有没有开放捏?(如果用的云主机就去实例的安全网组配置嗷,如果是其他的话,请继续往下看~)
第一行:查询端口是否开放
第二行:添加3306端口(没开放时)
第三行:刷新防火墙(添加端口后)
firewall-cmd --query-port=3306/tcp
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
更多问题,评论区见~