1 下载Mysql离线包
下载地址:MySQL :: Download MySQL Community Server (Archived Versions)
2 选择安装包
3 上传安装包至服务器
4 检查依赖
1、查看服务器是否已经安装mysql
运行命令:rpm -qa | grep -i mysql
如果有返回mysql的安装信息,则说明已经安装
2、如果已经安装了,则先卸载
执行命令:rpm -ev --nodeps (服务名称)
这里的服务名称即步骤1查询出来的服务名称
3、运行命令find / -name mysql检查安装目录,如果存在执行:rm -rf (目录名称)
4、先查看一下是否已经安装了mariadb
运行命令:rpm -qa|grep mariadb
如果安装了则运行命令清除:rpm -e --nodeps mariadb-libs
5 安装
1、解压下载的mysql安装包:
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar
依次安装各个依赖包
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-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
rpm -ivh numactl-2.0.12-5.el7.x86_64.rpm
或者一次性安装所有包:rpm -ivh *.rpm --nodeps
6 查看服务是否启动
运行命令:service mysqld status或者systemctl status mysqld.service
7 启动服务
service mysqld start
8 启动不了常见问题
1、 运行命令查看日志:cat /var/log/mysqld.log,如果为mysqld: File '/var/lib/mysql/auto.cnf' not found (OS errno 13 - Permission denied),则执行命令:chmod 777 /var/lib/mysql/auto.cnf。
2、运行命令查看日志:cat /var/log/mysqld.log,如果提示The innodb_system data file 'ibdata1' must be writable,则执行命令查询数据库文件所在目录:find / -name ibdata1,将查询到的数据库目录设置权限,执行命令:chmod 777 /var/lib/mysql
3、运行命令查看日志:cat /var/log/mysqld.log,如果提示Failed to find valid data directory,则修改my.cnf文件,执行命令:vim /etc/my.cnf,修改datadir为datadir=/var/lib/mysql/data,cd /var/lib/mysql/,mkdir data,chmod 777 data。
9 初始化数据库
运行命令:mysqld --initialize --console
10 关闭mysql登录时的密码验证
在/etc/my.cnf文件末尾加上以下代码:
#添加这行代码,这时候登入mysql就不需要密码
skip-grant-tables
symbolic-links=0
保存后,重新启动mysql服务。
11 修改密码并设置权限
运行命令:mysql -u root -p,然后按回车直接进入mysql
依次运行下述命令:
use mysql;
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password.policy=0;
update user set authentication_string='' where user='root';
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED BY 'dhcc@2022';
update user set host = '%' where user = 'root';
flush privileges;
grant all privileges on . to 'root'@'%' with grant option;
flush privileges;
12 解决navicat连接时报1251错误
运行命令:mysql -u root -p,输入密码后进入mysql
#修改加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'dhcc@2022';
#更新一下用户的密码
ALTER USER 'root'@'%' IDENTIFIED BY 'dhcc@2022' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;