1 准备一台Linux服务器
云服务器或者虚拟机都可以;
Linux的版本为 CentOS7;
2 下载Linux版MySQL安装包
https://downloads.mysql.com/archives/community/
我提供了mysql8.0.26-linux
提取码:hyxs
3 上传MySQL安装包
如果连接linux的工具是Xshell,可以直接进行拖拽
4 创建目录,并解压
mkdir mysql
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql
5 安装mysql的安装包
注:需要按照当前顺序进行,命令成功了在执行下一条,如果命令失败,加上 --force --nodeps
cd mysql
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
yum install openssl-devel
rpm -ivh mysql-community-devel-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
6 启动MySQL服务
systemctl start mysqld
systemctl restart mysqld
systemctl stop mysqld
7 查询自动生成的root用户密码
grep 'temporary password' /var/log/mysqld.log
命令行执行指令 :
mysql -u root -p
然后输入上述查询到的自动生成的密码, 完成登录 .
8 修改root用户密码
登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够。我们可以设置密码的复杂度为简单类型,密码长度为4。
set global validate_password.policy = 0;
set global validate_password.length = 6;
降低密码的校验规则之后,再次执行上述修改密码的指令。
9 创建用户
默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
10 并给root用户分配权限
grant all on *.* to 'root'@'%';
11 重新连接MySQL
mysql -u root -p
然后输入密码
12 关闭linux防火墙
查看防火墙状态,如果是active(running),证明是打开的
systemctl status firewalld.service
关闭防火墙
systemctl stop firewalld.service
查看状态是否为disavtive(dead)
systemctl status firewalld.service
永久关闭防火墙
systemctl disable firewalld.service
13 通过Navicat远程连接MySQL
14 总结:
连接不上linux中mysql最常见的几种问题
- 主机连接不上虚拟机
- 大概率是因为之前安装过vm,但是没装完全导致没有虚拟机网卡,可以借助cclear等工具完全删除后重装,要能连接上mysql的前提是,主机能够ping通虚拟机
- 防护墙问题
- 防火墙没有开放3306端口,导致连接不上,建议直接关闭防火墙(个人使用的虚拟机)
- 权限问题
- mysql提供的root只能够在本地能够连接,如果要主机也能够连接上,需要赋予权限