Linux安装Mysql8,过程详细(离线安装mysql)

因公司需要,需要在服务器上安装一个mysql,但是机器没有外网权限,所以记录一下安装过程,供大家参考。

官网下载安装包

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

如图示,选择MySQL Community ServerLinux安装Mysql8,过程详细(离线安装mysql)_第1张图片

如图示,选择对应版本进行下载,此处我的选择是8.0.33
Linux安装Mysql8,过程详细(离线安装mysql)_第2张图片

点击下载按钮弹出下图,点击红框中的连接,跳过登录,直接下载
Linux安装Mysql8,过程详细(离线安装mysql)_第3张图片

检查服务器是否已经安装mysql

使用命令查看是否存在mysql

rpm -qa|grep -i mysql

如果运行命令之后没有出现任何内容,表示没有安装过mysql,如果有出现,则删除。
停止mysql服务,删除所有关于mysql的文件
service mysql stop
find / -name mysql
rm 掉上面命令的结果即可

解压安装mysql

将压缩包上传至要进行安装的服务器
使用下方的命令进行解压,根据实际安装包名称进行修改

tar xvJf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz

可选是否重命名和移动到其他目录

这里因我嫌名字长,就改了名称和移动到了其他目录

mv mysql-8.0.33-linux-glibc2.12-x86_64 /usr/MYSQL/mysql-8.0.33

创建data文件夹

进入解压后的mysql根目录,创建data文件夹

cd /usr/MYSQL/mysql-8.0.33
mkdir data

创建mysql组和用户

##创建mysql组
groupadd mysql
##创建mysql用户
useradd -g mysql mysql

赋权

将安装的MySQL权限给mysql用户

## 命令,chown -R “mysql组名”.“mysql用户名” “mysql安装根目录
chown -R mysql.mysql /usr/MYSQL/mysql-8.0.33

mysql初始化

./mysqld --user=mysql --basedir=/usr/MYSQL/mysql-8.0.33 --datadir=/usr/MYSQL/mysql-8.0.33/data --lower-case-table-names=1 --initialize

运行结束后如图示,请记住临时密码
A temporary password is generated for root@localhost: 临时密码Linux安装Mysql8,过程详细(离线安装mysql)_第4张图片

修改MySQL配置文件

将此文件改为以下全部内容

vim /etc/my.cnf

[mysqld]
port=3306
basedir=/usr/MYSQL/mysql-8.0.33/ # MySQL根目录
datadir=/usr/MYSQL/mysql-8.0.33/data/ # MySQL的data目录
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0
lower_case_table_names=1
#解决“java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list,references column”
sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’

添加服务到系统

按顺序执行命令

## 进入MySQL根目录,直接复制粘贴命令即可。
cp -a ./support-files/mysql.server /etc/init.d/mysql
## 授权
chmod +x /etc/init.d/mysql
## 添加服务,直接复制
chkconfig --add mysql

启动mysql

service mysql start

将MySQL命令添加到服务,这一步是为了能在任何地方通过用户名和密码登录MySQL

ln -s /usr/MYSQL/mysql-8.0.33/bin/mysql /usr/bin

登录mysql

mysql -uroot -p 输入上面的临时密码

修改临时密码

ALTER USER USER() IDENTIFIED BY '123456';

刷新,使新密码生效

FLUSH PRIVILEGES;

撒花

之后就可以进行使用mysql了

你可能感兴趣的:(linux,mysql,服务器)