在实际使用mysql的过程中,默认的安装在系统盘的安装路径往往不符合用户的存储规划,很多用户希望将mysql安装到指定的非系统盘目录,方便后续管理程序文件和数据文件。下面分别介绍windows和linux系统下mysql自定义安装目录的具体操作方法。

windows系统下mysql自定义安装目录步骤
准备安装包
首先到mysql官方渠道下载对应版本的windows安装包,推荐选择ZIP压缩包版本,方便自定义安装路径,避免安装程序强制使用默认路径。下载完成后将压缩包解压到你想安装的目录,比如解压到D:mysqlmysql-8.0.33。
配置环境变量
右键点击此电脑,选择属性,进入高级系统设置,点击环境变量,在系统变量的Path变量中添加mysql的bin目录路径,比如D:mysqlmysql-8.0.33bin,这样可以在任意命令行窗口直接调用mysql相关命令。
初始化和安装服务
以管理员身份打开命令行窗口,切换到mysql的bin目录,执行初始化命令,指定数据目录为自己定义的路径:
:: 初始化mysql,指定数据目录为自定义路径 mysqld --initialize --console --basedir=D:mysqlmysql-8.0.33 --datadir=D:mysqlmysql-8.0.33data
初始化完成后会生成临时root密码,记录该密码后续登录使用。接着执行服务安装命令,指定服务名和安装路径:
:: 安装mysql服务,指定服务名和自定义安装路径 mysqld --install MySQL80 --basedir=D:mysqlmysql-8.0.33 --datadir=D:mysqlmysql-8.0.33data
服务安装完成后,启动mysql服务:
:: 启动mysql服务 net start MySQL80
验证安装路径
登录mysql后执行以下命令查看安装目录和数据目录是否正确:
-- 查看mysql安装目录 SHOW VARIABLES LIKE 'basedir'; -- 查看数据目录 SHOW VARIABLES LIKE 'datadir';
linux系统下mysql自定义安装目录步骤
下载和解压安装包
使用wget命令下载mysql的linux通用版压缩包,或者将本地的安装包上传到服务器,解压到自定义的目录,比如/usr/local/mysql/:
# 解压安装包到自定义目录 tar -zxvf mysql-8.0.33-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ # 重命名目录方便管理 mv /usr/local/mysql-8.0.33-linux-glibc2.12-x86_64 /usr/local/mysql
创建用户和目录权限配置
创建mysql运行用户,并且将自定义安装目录的权限分配给mysql用户:
# 创建mysql用户 useradd -s /sbin/nologin mysql # 创建数据目录 mkdir /usr/local/mysql/data # 分配目录权限 chown -R mysql:mysql /usr/local/mysql
初始化和启动服务
切换到mysql的bin目录,执行初始化命令,指定basedir和datadir为自定义路径:
# 初始化mysql,指定自定义的安装目录和数据目录 /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
初始化完成后,复制启动脚本到系统服务目录,修改配置文件/etc/my.cnf,指定basedir和datadir的路径:
[mysqld] basedir=/usr/local/mysql/ datadir=/usr/local/mysql/data/ socket=/usr/local/mysql/mysql.sock [client] socket=/usr/local/mysql/mysql.sock
启动mysql服务并查看状态:
# 启动mysql服务 /usr/local/mysql/support-files/mysql.server start # 查看服务状态 /usr/local/mysql/support-files/mysql.server status
验证安装路径
登录mysql后执行和windows系统相同的查询命令,确认basedir和datadir为自定义的目录即可。
自定义安装目录注意事项
- 自定义的安装目录路径不要包含中文或者特殊字符,避免出现路径识别错误的问题
- 数据目录和安装目录可以分开设置,建议将数据目录放在单独的磁盘分区,方便后续数据备份和迁移
- 安装完成后如果修改安装路径,需要同步修改配置文件和服务的启动参数,否则会导致服务无法启动
- 确保自定义目录有足够的磁盘空间,满足mysql程序和数据存储的需求