avatar

黄金月河3.1

浴火重生

  • 首页
  • Linux基础
  • 运维
  • Github
  • Python
  • 网络安全
  • 软路由
  • 时光手札
  • 关于
Home 01__mysql-安装总结
文章

01__mysql-安装总结

Posted 2023-06-27 Updated 2023-06- 27
By 奈幽
8~11 min read

一、解决登录数据库时的不方便问题

1、添加环境变量(单机单实例好用,多实例会冲突,已最后一条记录为准)

echo 'export PATH=$PATH:$basedir/bin' >> /etc/profile

3、添加别名(解决启动时,连接指定接字文件问题)

echo 'alias mysql31='mysql -S /mysql31/mysql31.sock'' >> /etc/bashrc

4、创建命令软连接(别名方案替代方案)

ln $basedir/bin/mysql /etc/init.d/mysql

二、关键点及检测点

1、安装关键点及检测点

1>glibc安装

1,排陷阱mariadb-libs 
	检测:#rpm -q mariadb-libs
2,初始化mysql_install_db
	检测:#ls -d data/mysql
3,改权限:安装目录属主属组更改为mysql
	#chown -R mysql:mysql /usr/local/mysql
4,启动脚本 mysql.server
	检测:#ls /etc/init.d/mysql*
5,改密码mysqladmin/mysql_secure_installation
	检测:。。。登录吧
6,环境变量:echo ''export PATH=$PATH:$basedir/bin' >> /etc/profile
	检测:#tail -5 /etc/profile
7,单机多实例,通过套接字文件区分#mysql -S /tmp/mysql*.sock -u .....
	可通过别名机制来区分

2>配置文件

$basedir/my/cnf

#安装目录路径
basedir = /usr/local/mysql
#数据目录路径
datadir = /usr/local/mysql/data
#端口
port = 3306
#mysql服务器编号(必须唯一)
server_id = 10
#套接字文件路径
socket = /tmp/mysql35.sock
#错误日志路径
log-error = /usr/local/mysql/mysql.err
#编码字符集(默认为拉丁文)
character_set_server = utf8mb4

PS:
1,错误日志文件,mysql用户可能没有创建权限,最好提前手工创建好

3>cmake选项详解

  • 常用配置选项
配置选项描述默认值建议值
CMAKE_INSTALL_PREFIX安装目录(basedir)/usr/local/mysql根据需求
MYSQL_DATADIR数据目录(datadir)根据需求
SYSCONFDIR默认配置文件my.cnf路径/etc
MYSQL_TCP_PORTTCP/IP端口3306非默认端口
MYSQL_UNIX_ADDR套接字socket文件路径/tmp/mysql.sock$basedir/
DEFAULT_CHARSET默认字符集latin1(拉丁文)utf8mb4
DEFAULT_COLLATION默认校验规则latin1_swedish_ciutf8mb4_general_ci
WITH_EXTRA_CHARSETS扩展字符集allall
ENABLED_LOCAL_INFILE是否启用本地加载外部数据文件功能OFF建议开启
  • 存储引擎相关配置项
说明:
以下选项值均为布尔值,0代表不编译到服务器中,1代表编译,建议都静态编译到服务器中。
其他的存储引擎可以根据实际需求在安装时通过WITH_xxxx_STORAGE_ENGINE=1的方式编译到服务器中。

WITH_INNOBASE_STORAGE_ENGINE=1
将InnoDB存储引擎插件构建为静态模块编译到服务器中建议编译到服务器中。WITH_PARTITION_STORAGE_ENGINE=1
是否支持分区
WITH_FEDERATED_STORAGE_ENGINE
本地数据库是否可以访问远程mysql数据
WITH_BLACKHOLE_STORAGE_ENGINE
黑洞存储引擎,接收数据,但不存储,直接丢弃
WITH_MYISAM_STORAGE_ENGINE=1
将MYISAM存储引擎静态编译到服务器中

三、易忘点

1、安装

1,排陷阱:卸载系统自带数据库:
	#yum remove mariadb-libs
		或删除/etc/my.conf
2,改权限:安装目录属主属组更改为mysql
	#chown -R mysql:mysql /usr/local/mysql
3,初始化:用mysql用户身份运行初始化脚本
	#scripts/mysql_install_db --user=mysql

四、报错记录

1,套接字文件报错
[root@vm_5_el7 mysql-5.6.31]# mysql31
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql31.sock' (2)
无法通过套接字'/tmp/mysql2连接到本地MySQL服务器。袜子”(2)
解决:
	1,端口冲突
	2,如果可以启动,查看/tmp/中是否有m7ysql*.sock的文件生成。是否与my.cnf 中指定的路径一致
	3,检查/etc/my.cnf是否存在,mariadb-libs是否在干扰
	4,错误日志无法创建,需要手动创建

2,服务启动报错
[root@VM_0_2_centos mysql1]# service mysql1 start
Starting MySQL.... ERROR! The server quit without updating PID file (/data/mysql1/data/VM_0_2_centos.pid).
1,目录权限不足
[root@VM_0_2_centos mysql1]# chown -R mysql. /data/mysql1/
2,没有初始化数据库
[root@VM_0_2_centos mysql1]# ./scripts/mysql_install_db --user=mysql

Linux基础
mysql
License:  CC BY 4.0
Share

Further Reading

Feb 28, 2025

Debian12上安装Docker和Docker Compose

😎宝子们,今天来唠唠在Debian12上安装Docker和Docker Compose的详细步骤哈。 🧐首先呢,咱得准备好服务器哦。 💻然后就是安装前的准备工作啦: PS:要是你没用root账号登录,那后面的指令可都得加上sudo这个“小跟班”才行呢。 apt update apt insta

Feb 26, 2025

开源镜像站

名称 地址 阿里云官方镜像站 https://developer.aliyun.com/mirror 网易开源镜像站 http://mirrors.163.com 华为开源镜像站 https://mirrors.huaweicloud.com/home 腾讯软件源

Feb 19, 2025

将多个目录的权限信息统计并进行比对的Shell脚本

将多个目录的权限信息统计并进行比对的Shell脚本 1、功能说明 该脚本主要提供目录权限信息收集与对比功能,支持处理百万级文件目录的统计分析,分为两个核心模块: 权限信息收集 (collect):收集指定路径的信息(绝对路径、权限码、属主、属组)自动生成日志(``diff_.log`) 智能日志对比

OLDER

【实验】使用kubectl部署kubernetes 2019

NEWER

01_虚拟化技术(KVM)

Recently Updated

  • 奈幽的渗透测试总结-红队
  • 基于Docker的虚拟 Chrome 浏览器
  • Metasploit Framework (MSF) 使用指南
  • rhel9 安装docker和docker-compose
  • 内网穿透工具:zrok

Trending Tags

Halo elasticsearch debian openwrt KeepassXC 必看精选 webdav 热门文章 docker Linux

Contents

©2025 黄金月河3.1. Some rights reserved.

Using the Halo theme Chirpy