栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

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

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服务已经启动成功。

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327044.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号