当前位置: 首页 > news >正文

mysql 离线安装

package download

mysql https://dev.mysql.com/downloads/mysql/
libaio http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm
根据自己服务器选择下载对应的安装包及依赖

删除本机自带mysql相关

# 首先排查服务器自身是否有安装对应mysql or mariadb
rpm -qa | grep mariadb
rpm -e --nodeps {上边显示的}rpm -qa | grep mysql
rpm -e --nodeps {上边显示的}whereis mysql
rm -rf {上边显示的}find / -name mysql
rm -rf {上边显示的}

相关目录处理及解压

# 新建安装目录
mkdir /app/mysql# 解压对应安装包
tar -xvf *# 安装依赖libaio
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm# 创建mysql用户组 (建议创建,否则会有pid等问题)
groupadd mysql
# 创建mysql用户到mysql用户组
useradd -r -g mysql mysql
# 创建mysql-data目录,存放初始化数据
mkdir /app/mysql/data
chown -R mysql /app/mysql/
chgrp -R mysql /app/mysql/
# 新建配置文件
vi /etc/my.cnf
# 创建mysql日志目录及日志文件
mkdir /app/mysql/logs
vi mysqld.log
chmod 777 mysqld.log
chown mysql:mysql /app/mysql/
# 创建mysqld.pid文件路径
mkdir /app/mysql/run
vi mysqld.pid
chmod 777 mysqld.pid
chown mysql:mysql /app/mysql/

配置文件

# 给配置文件/etc/my.cnf
[mysqld]
port=3306
user=mysql
basedir=/app/mysql
datadir=/app/mysql/data
socket=/app/mysql/data/mysql.sock   # 这个先配置 初始化后再新建 否则会导致报错 这段注释不要
log-error=/app/mysql/logs/mysqld.log
pid-file=/data/mysql/run/mysqld.pid
bind-address=0.0.0.0
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character_set_server=utf8mb4
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
collation-server=utf8mb4_general_ci
max_connections = 10000  # 最大连接数视情况而配置   这段注释不要 
lower_case_table_names=1  # 是否区分表名大小写视情况而配置  1 不区分 0 区分 这段注释不要[client]
port = 3306
socket=/app/mysql/data/mysql.sock
default-character-set = utf8mb4[mysql]
default-character-set = utf8mb4

初始化操作

# 初始化命令
./mysqld_safe --user=mysql --defaults-file=/etc/my.cnf --basedir=/app/mysql --datadir=/app/mysql/data --pid-file=/app/mysql/run/mysqld.pid --socket=/app/mysql/data/mysql.sock --port=3306# 记得复制初始化密码# 创建mysql.sock
cd /app/mysql/data
vi mysql.sock
chmod 777 mysql.sock
chown mysql:mysql /app/mysql/# 创建后重启服务
/app/mysql/support-files/mysql.server restart# 登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER;
flush privileges;# 开放远程连接
use mysql;
grant all privileges on *.* to 'root'@'%' identified by '新密码' with grant option;
# or
update user set user.Host='%' where user.User='root';
flush privileges;# 查看配置是否生效
select host,user from user;

显示mysql远端

可选操作

# 添加软链接,方便快捷启动
ln -s /app/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /app/mysql/bin/mysql /usr/bin/mysql# 启动服务
systemctl start mysql
service mysql start
# 查看服务状态
systemctl status mysql
service mysql status
# 停止服务
systemctl stop mysql
service mysql stop
# 重启服务
systemctl restart mysql
service mysql restart
# 设置开机自启动
# 将服务文件拷贝到init.d下,并重命名为mysql
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
# 赋予可执行权限
chmod 777 /etc/init.d/mysqld
# 添加服务
chkconfig --add mysqld
# 查看开机自启动服务
chkconfig --list
# 添加环境变量
vim /etc/profile
export PATH=/app/mysql/bin:$PATH
source /etc/profile

  • 出现无法创建.pid等文件相关信息
  • 初始化出现并不是指定的目录进行的初始化

解决方案

这俩个问题如果是mysql用户安装的,那么大概率是因为对应目录与文件并没有给于mysql用户相应的权限,赋予相应的权限后重新尝试
如果是root用户安装的,首先需要排除因为对应目录与文件并没有给与root用户相应的权限,赋予相应的权限后重新尝试,如果还是不行,则需要编辑 /support-files/mysql.server 将对应目录配置齐全,如下图
配置目录1
配置目录2
配置目录3

http://www.lryc.cn/news/348215.html

相关文章:

  • 【C++】 string类:应用与实践
  • 巩固学习7
  • Android 右键 new AIDL 无法选择
  • 使用Springboot整合Elasticsearch
  • Vue3+Element+TS动态菜单+按钮权限控制实现探索
  • 五款公司源代码加密软件推荐|代码防泄密解决方案
  • 【spring】Security 密码加密算法
  • IO系列(一) -一文带你读懂 java 中的IO流!
  • 代码随想录算法训练营第六天| 242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
  • 【python】中的可迭代对象、迭代器、生成器
  • 短视频矩阵系统源码/saas--总后台端、商户端、代理端、源头开发
  • K8s:二进制安装k8s(单台master)
  • C++类和对象下——实现日期类
  • 252 基于MATLAB的自适应差分阈值法检测心电信号的QRS波
  • SSIM(Structural Similarity),结构相似性及MATLAB实现
  • 第十六章-消费者-PUSH方式(一)
  • 【C++要哮着学】初识C++,什么是C++?什么是命名空间?什么又是缺省函数?
  • Lua 数字格式化
  • Java入门基础学习笔记13——数据类型
  • 使用Docker+Jar方式部署微服务工程(前后端分离)看着一篇就够了
  • 红外遥控和LCD1602
  • 房屋出租管理系统需求分析及功能介绍
  • 高精度模拟算法
  • Ansible简介版
  • 卷积通用模型的剪枝、蒸馏---蒸馏篇--RKD关系蒸馏(以deeplabv3+为例)
  • AVL树的完全指南:平衡与性能
  • itext7 PDF添加水印,获取页面高度,添加到页面右上角
  • docker端口映射成功,docker端口不生效的问题解决,外界无法访问docker映射端口
  • RSA非对称加密解密,前端公钥加密后端私钥解密
  • Nginx-01-Nginx 是什么? 能做什么?