linux服务器部署mysql数据库-自行官网下载文件,适用于离线部署或者内网部署

linux上部署mysql

1. mysql文件下载

  • 下载地址:https://downloads.mysql.com/archives/community/
  • 选择版本
    在这里插入图片描述
  • 下载文件:在这里插入图片描述

2. 安装前准备

2.1 安装文件上传

把文件上传到自己想安装的目录,解压、重命名;建议目录(/usr/local/mysql)

tar -zxvf mysql-5.7.33-el7-x86_64.tar.gz   # 解压
rm -rf mysql-5.7.33-el7-x86_64.tar.gz   # 删除安装包
mv mysql-5.7.33-el7-x86_64/ mysql   # 重命名

2.2 创建用户

groupadd mysql   # 创建mysql用户组
useradd -g mysql mysql # 创建mysql用户并分配到mysql用户组

2.3 配置文件配置

配置文件目录:/etc/my.cnf(这是centos的目录)

##########以下配置文件为默认配置,系统自带的########
[client]
# 默认连接端口
port = 3306
# 用于本地连接的socket套接字
socket = /var/lib/mysql/mysql.sock
# 字符集编码
default-character-set = utf8mb4
# 系统服务端配置
[mysqld]
# mysql数据存放目录
basedir = /usr/local/mysql
datadir=/usr/local/mysql/data  # data目录若没有需要手动创建
# 为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
socket=/var/lib/mysql/mysql.sock  # 若目录本身没有需要手动创建
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
default-character-set = utf8mb4
[mysqld_safe]
log-error=/var/log/mysql/mysql.err  # 需要手动创建目录和文件
pid-file=/usr/local/mysql/data/mysql.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

以上配置为基础配置。

2.4 所需文件、目录创建以及权限赋值

以我的安装实例为例,所需处理的目录如下:

  1. socket套接字地址:socket = /usr/local/mysql/data/mysql.sock
  2. 安装目录:basedir = /usr/local/mysql
  3. 数据目录:datadir=/usr/local/mysql/data
  4. 错误日志目录:log-error=/var/log/mysql/mysql.err
  5. pid文件目录:pid-file=/usr/local/mysql/data/mysql.pid
    以上所有目录均需要赋予读写权限给mysql用户, 错文日志文件mysql.err需要手动创建
cd /usr/local
chown -R mysql:mysql mysql/

cd /var/lib/
mkdir mysql
chown -R mysql:mysql mysql/

cd /var/log
mkdir mysql
chown -R mysql:mysql mysql/
cd /var/log/mysql
touch mysql.err

3. 安装、初始化

初始化

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --pid-file=/usr/local/mysql/data/mysql.pid 

初始化的时候,记住生成的初始密码:
在这里插入图片描述
启动mysql服务

/usr/local/mysql/support-files/mysql.server start

报错如下:

Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).

这个报错的原因为错误日志文件没有mysql用户写入权限。添加写入权限后即可成功:
启动成功界面
mysql服务运行情况
如上图所示则表示mysql服务已经启动成功。

4. 密码修改、远程连接配置

搞两个软链接:

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

登录:密码为初始化时产生的密码

[root@localhost data]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.33
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

修改root密码:

mysql> set password for root@localhost = password('xxxx');
Query OK, 0 rows affected, 1 warning (0.07 sec)

开放远程连接:

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set user.Host='%' where user.User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

完成上述配置后,可以通过客户端工具连接数据库,我这边使用的是dbeaver
但是这边遇到如下错误

在这里插入图片描述
经过查看,服务正常启动,端口也是正常开放的
在这里插入图片描述
在这里插入图片描述

不过,经过测试,远程telnet并不通:
在这里插入图片描述
排查原因为:防火墙禁止了访问
处理方法:关闭防火墙(我这是测试、生产不建议)

systemctl stop firewalld

后续还是会报错
在这里插入图片描述
这个报错解决办法:在配置文件里添加下面字段,可以在认证的时候跳过密码。
skip-grant-tables
后面在网上找了一些方法,最后可用的是:
赋予权限不足,重新赋予权限并刷新权限表再重新连接即可:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hyg403664340' WITH GRANT OPTION;
flush privileges;

在这里插入图片描述
踩坑一个:
报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before
解决方法:ALTER USER USER() IDENTIFIED BY ‘wingkin45’;#wingkin为密码


over

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值