深入探索MySQL非标准安装及其目录结构(mysql不安装目录结构)
MySQL是一款流行的关系型数据库管理系统,常用于Web开发和应用程序中。MySQL的标准安装通常是用二进制文件安装,但是有时候我们需要进行非标准的安装和设置MySQL的目录结构。本篇文章将介绍如何进行MySQL的非标准安装以及其目录结构。
1. 安装MySQL
您可以通过以下步骤在Linux上安装MySQL:
下载MySQL的压缩包,并解压到指定的目录。您可以使用以下命令:
“`bash
wget https://dev.mysql.com/get/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
tar -xzvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
2. 创建MySQL用户和组在安装之前,我们要首先创建一个新的MySQL用户和组。输入以下命令以创建一个名为mysql的新组:
```bashsudo groupadd mysql
接下来,我们创建一个名为mysql的新用户并将其添加到mysql组中:
“`bash
sudo useradd -r -g mysql -s /bin/false mysql
3. 创建MySQL数据目录和配置文件现在,我们将创建一个存储MySQL数据的新目录。您可以使用以下命令:
```bashsudo mkdir -p /opt/mysql/data
接下来,我们要创建一个my.cnf文件,这是MySQL的配置文件。您可以复制样本文件(位于解压缩后的目录中)并将其重命名为my.cnf。您可以使用以下命令:
“`bash
cd mysql-5.7.28-linux-glibc2.12-x86_64
sudo cp support-files/my-default.cnf /etc/my.cnf
然后,您需要编辑my.cnf文件,将datadir参数设置为新创建的数据目录。请执行以下操作:
```bashsudo vi /etc/my.cnf
在文件的底部,您将找到一个名为[mysqld]的节。在这个部分中,找到以下行:
“`bash
# The next three options are mutually exclusive to SERVER_DATADIR
# *** OFF ***
# *** ON ***
# *** LOOSE ***
# or SERVER_DATADIR=data_directory
取消注释和编辑SERVER_DATADIR的值:
```bash# The next three options are mutually exclusive to SERVER_DATADIR
# *** OFF ***# *** ON ***
# *** LOOSE ***SERVER_DATADIR=/opt/mysql/data/
安装MySQL作为Systemd服务
在本节中,我们将讨论如何将MySQL安装为systemd服务。
1. 创建systemd unit文件
创建一个systemd unit文件并将其保存在/etc/systemd/system/目录中。您可以使用以下命令:
“`bash
sudo vi /etc/systemd/system/mysql.service
然后,将以下内容添加到该文件中:
```bash[Unit]
Description=MySQL ServerAfter=syslog.target
After=network.target
[Install]WantedBy=multi-user.target
[Service]User=mysql
Group=mysql
ExecStart=/opt/mysql/bin/mysqld \--defaults-file=/etc/my.cnf \
--basedir=/opt/mysql \--datadir=/opt/mysql/data \
--plugin-dir=/opt/mysql/lib/plugin \--user=mysql \
--log-error=/var/log/mysqld.log \--pid-file=/opt/mysql/data/mysql.pid \
--socket=/opt/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0
# include all files from the config directory!includedir /etc/my.cnf.d
该文件将告诉systemd如何启动和停止MySQL服务。
2. 设置访问权限
在MySQL目录中,我们需要为mysql用户设置适当的文件和目录权限。您可以使用以下命令:
“`bash
sudo chown -R mysql:mysql /opt/mysql
sudo chmod -R 755 /opt/mysql
3. 启动MySQL服务启动MySQL服务器并启动systemd服务。您可以使用以下命令:
```bashsudo systemctl start mysql
sudo systemctl enable mysql
接下来,您可以使用以下命令查看MySQL服务器状态:
“`bash
sudo systemctl status mysql
4. 连接MySQL Server让我们测试一下MySQL服务是否可以正常运行。您可以使用以下命令连接到MySQL服务器:
```bashmysql -u root -p
这将提示您输入密码。如果您已经设置了密码,则输入密码并按Enter键。如果尚未设置密码,则按Enter键。
MySQL目录结构
MySQL的目录结构通常如下所示:
/opt/mysql/
├── bin
│ ├── mysqld
│ └── mysql
├── include
├── lib
│ └── plugin
├── share
│ ├── charsets
│ ├── english
│ ├── errmsg.sys
│ ├── help_keyword.MYD
│ ├── help_keyword.MYI
│ ├── help_keyword.frm
│ ├── mysql_system_tables.sql
│ ├── mysql_system_tables_data.sql
│ ├── mysql_test_data_timezone.sql
│ ├── mysql_test_db.sql
│ ├── mysql_test_mn.sql
│ ├── mysql_test_nist_data.sql
│ ├── mysql_test_time_zone.leap_second.sql
│ ├── mysql_test_time_zone.sql
│ ├── mysql_upgrade_info
│ ├── mysql_upgrade_info.001
│ ├── mysql_upgrade_info.002
│ ├── mysql_upgrade_info.003
│ ├── mysql_upgrade_info.004
│ ├── mysql_upgrade_info.005
│ ├── mysql_upgrade_info.006
│ ├── mysql_upgrade_info.007
│ ├── mysql_upgrade_info.008
│ ├── mysql_upgrade_info.009
│ ├── mysql_upgrade_info.010
│ ├── mysql_upgrade_info.011
│ ├── mysql_upgrade_info.012
│ ├── mysql_upgrade_info.013
│ ├── mysql_upgrade_info.014
│ ├── mysql_upgrade_info.015
│ ├── mysql_upgrade_info.016
│ ├── mysql_upgrade_info.017
│ ├── mysql_upgrade_info.018
│ ├── mysql_upgrade_info.019
│ ├── mysql_upgrade_info.020
│ ├── mysql_upgrade_info.021
│ ├── mysql_upgrade_info.022
│ ├── mysql_upgrade_info.023
│ ├── mysql_upgrade_info.024
│ ├── mysql_upgrade_info.025
│ ├── mysql_upgrade_info.026
│ ├── mysql_upgrade_info.027
│ ├── mysql_upgrade_info.028
│ ├── mysql_upgrade_info.029
│ ├── mysql_upgrade_info.030
│ ├── mysql_upgrade_info.031
│ ├── mysql_upgrade_info.032
│ ├── mysql_upgrade_info.033
│ ├── mysql_upgrade_info.034
│ ├── mysql_upgrade_info.035
│ ├── mysql_upgrade_info.036
│ ├── mysql_upgrade_info.037
│ ├── mysql_upgrade_info.038
│ ├── mysql_upgrade_info.039
│ ├── mysql_upgrade_info.040
│ ├── mysql_upgrade_info.041
│ ├── mysql_upgrade_info.042
│ ├── mysql_upgrade_info.043
│ ├── mysql_upgrade_info.044
│ ├── mysql_upgrade_info.045
│ ├── mysql_upgrade_info.046
│ ├── mysql_upgrade_info.047
│ ├── mysql_upgrade_info.048
│ ├── mysql_upgrade_info.049
│ ├── mysql_upgrade_info.050
│ ├── mysql_upgrade_info.051
│ ├── mysql_upgrade_info.052
│ ├── mysql_upgrade_info.053
│ ├── mysql_upgrade_info.054
│ ├── mysql_upgrade_info.055
│ ├── mysql_upgrade_info.056
│ ├── mysql_upgrade_info.057
│ ├── mysql_upgrade_info.058
│ ├── mysql_upgrade_info.059
│ ├── mysql_upgrade_info.060
│ ├── mysql_upgrade_info.061
│ ├── mysql_upgrade_info.062
│ ├── mysql_upgrade_info.063
│ ├── mysql_upgrade_info.064
│ ├── mysql_upgrade_info.065
│ ├── mysql_upgrade_info.066
│ ├── mysql_upgrade_info.067
│ ├── mysql_upgrade_info.068
│ ├── mysql_upgrade_info.069
│ ├── mysql_upgrade_info.070
│ ├── mysql_upgrade_info.071
│ ├── mysql_upgrade_info.072
│ ├── mysql_upgrade_info.073
│ ├── mysql_upgrade_info.074
│ ├── mysql_upgrade_info.075
│ ├── mysql_upgrade_info.076
│ ├── mysql_upgrade_info.077
│ ├── mysql_upgrade_info.078
│ ├── mysql_upgrade_info.079
│ ├── mysql_upgrade_info.080
│ ├── mysql_upgrade_info.081
│ ├── mysql_upgrade_info.082
│ ├── mysql_upgrade_info.083
│ ├── mysql_upgrade_info.084
│ ├── mysql_upgrade_info.085
│ ├── mysql_upgrade_info.086
│ ├── mysql_upgrade_info.087
│ ├── mysql_upgrade_info.088
│ ├── mysql_upgrade_info.089
│ ├── mysql_upgrade_info.090
│ ├── mysql_upgrade_info.091
│ ├── mysql_upgrade_info.092
│ ├── mysql_upgrade_info.093
│ ├── mysql_upgrade_info.094
│ ├── mysql_upgrade_info.095
│ ├── mysql_upgrade_info.096
│ ├── mysql_upgrade_info.097
│ ├── mysql_upgrade_info.098
│ ├── mysql_upgrade_info.099
│ ├── mysql_upgrade_info.100
│ ├── mysql_upgrade_info.101
│ ├── mysql_upgrade_info.102
│ ├── mysql_upgrade_info.103
│ ├── mysql_upgrade_info.104
│ ├── mysql_upgrade_info.105
│ ├── mysql_upgrade_info.106
│ ├── mysql_upgrade_info.107
│ ├── mysql_upgrade_info.108
│ ├── mysql_upgrade_info.109
│ ├── mysql_upgrade_info.110
│ ├── mysql_upgrade_info.111
│ ├── mysql_upgrade_info.112
│ ├── mysql_upgrade_info.113
│ ├── mysql_upgrade_info.114
│ ├── mysql_upgrade_info.115
│ ├── mysql_upgrade_info.116
│ ├── mysql_upgrade_info.117
│ ├── mysql_upgrade_info.118
│ ├── mysql_upgrade_info.119
│ ├── mysql_upgrade_info.120
│ ├── mysql_upgrade_info.121
│ ├── mysql_upgrade_info.122
│ ├── mysql_upgrade_info.123
│ ├── mysql_upgrade_info.124
│ ├── mysql_upgrade_info.125
│ ├── mysql_upgrade_info.126
│ ├── mysql_upgrade_info.127
│ ├── mysql_upgrade_info.128
│ ├── mysql_upgrade_info.129
│ ├── mysql_upgrade_info.130
│ ├── mysql_upgrade_info.131
│ ├── mysql_upgrade_info.132
│ ├── mysql_upgrade_info.133
│ ├── mysql_upgrade_info.134
│ ├── mysql_upgrade_info.135
│ ├── mysql_upgrade_info.136
│ ├── mysql_upgrade_info.137
│ ├── mysql_upgrade_info.138
│ ├── mysql_upgrade_info.139
│ ├── mysql_upgrade_info.140
│ ├── mysql_upgrade_info.141
│ ├── mysql_upgrade_info.142
│ ├── mysql_upgrade_info.143
│ ├── mysql_upgrade_info.144
│ ├── mysql_upgrade_info.145
│ ├── mysql_upgrade_info.146
│ ├── mysql_upgrade_info.147
│ ├── mysql_upgrade_info.148
│ ├── mysql_upgrade_info.149
│ ├── mysql_upgrade_info.150
│ ├── mysql_upgrade_info.151
│ ├── mysql_upgrade_info.152
│ ├── mysql_upgrade_info.153
│ ├── mysql_upgrade_info.154
│ ├── mysql_upgrade_info.155
│ ├── mysql_upgrade_info.156
│ ├── mysql_upgrade_info.157
│ ├── mysql_upgrade_info.158
│ ├── mysql_upgrade_info.159
│ ├── mysql_upgrade_info.160
│ ├── mysql_upgrade_info.161
│ ├── mysql_upgrade_info.162
│ ├── mysql_upgrade_info.163
│ ├── mysql_upgrade_info.164
│ ├── mysql_upgrade_info.165
│ ├── mysql_upgrade_info.166
│ ├── mysql_upgrade_info.167
│ ├── mysql_upgrade_info.168
│ ├── mysql_upgrade_info.169
│ ├── mysql_upgrade_info.170
│ ├── mysql_upgrade_info.171
│ ├── mysql_upgrade_info.172
│ ├── mysql_upgrade_info.173
│ ├── mysql_upgrade_info.174
│ ├── mysql_upgrade_info.175
│ ├── mysql_upgrade_info.176
│ ├── mysql_upgrade_info.177
│ ├── mysql_upgrade_info.178
│ ├── mysql_upgrade_info.179
│ ├── mysql_upgrade_info.180
│ ├── mysql_upgrade_info.181
│ ├── mysql_upgrade_info.182
│ ├── mysql_upgrade_info.183
│ ├── mysql_upgrade_info.184
│ ├── mysql_upgrade_info.185
│ ├── mysql_upgrade_info.186
│ ├── mysql_upgrade_info.187
│ ├── mysql_upgrade_info.188
│ ├── mysql_upgrade_info.189
│ ├── mysql_upgrade_info.190
│ ├── mysql_upgrade_info.191
│ ├── mysql_upgrade_info.192
│ ├── mysql_upgrade_info.193
│ ├── mysql_upgrade_info.194
│ ├── mysql_upgrade_info.195
│ ├── mysql_upgrade_info.196
│ ├── mysql_upgrade_info.197
│ ├── mysql_upgrade_info.198
│ ├── mysql_upgrade_info.199
│ ├── mysql_upgrade_info.200
│ ├── mysql_upgrade_info.201
│ ├── mysql_upgrade_info.202
│ ├── mysql_upgrade_info.203
│ ├── mysql_upgrade_info.204
│ ├── mysql_upgrade_info.205
│ ├── mysql_upgrade_info.206
│ ├── mysql_upgrade_info.207
│ ├── mysql_upgrade_info.208
│ ├── mysql_upgrade_info.209
│ ├── mysql_upgrade_info.210
│ ├── mysql_upgrade_info.211
│ ├── mysql_upgrade_info.212
│ ├── mysql_upgrade_info.213
│ ├── mysql_upgrade_info.214
│ ├── mysql_upgrade_info.215
│ ├── mysql_upgrade_info.216
│ ├── mysql_upgrade_info.217
│ ├── mysql_upgrade_info.218
│ ├── mysql_upgrade_info.219
│ ├── mysql_upgrade_info.220
│ ├── mysql_upgrade_info.221
│ ├── mysql_upgrade_info.222
│ ├── mysql_upgrade_info.223
│ ├── mysql_upgrade_info.224
│ ├── mysql_upgrade_info.225
│ ├── mysql_upgrade_info.226
│ ├── mysql_upgrade_info.227
│ ├── mysql_upgrade_info.228
│ ├── mysql_upgrade_info.229
│ ├── mysql_upgrade_info.230
│ ├── mysql_upgrade_info.231
│ ├── mysql_upgrade_info.232
│ ├── mysql_upgrade_info.233
│ ├── mysql_upgrade_info.234
│ ├── mysql_upgrade_info.235
│ ├── mysql_upgrade_info.236
│ ├── mysql_upgrade_info.237
│ ├── mysql_upgrade_info.238
│ ├── mysql_upgrade_info.239
│ ├── mysql_upgrade_info.240
│ ├── mysql_upgrade_info.241
│ ├── mysql_upgrade_info.242
│ ├── mysql_upgrade_info.243
│ ├── mysql_upgrade_info.244
│ ├── mysql_upgrade_info.245
│ ├── mysql_upgrade_info.246
│ ├── mysql_upgrade_info.247
│ ├── mysql_upgrade_info.248
│ ├── mysql_upgrade_info.249
│ ├── mysql_upgrade_info.250
│ ├── mysql_upgrade_info.251
│ ├── mysql_upgrade_info.252
│ ├── mysql_upgrade_info.253
│ ├── mysql_upgrade_info.254
│ ├── mysql_upgrade_info.255
│ ├── mysql_upgrade_info.256
│ ├── mysql_upgrade_info.257
│ ├── mysql_upgrade_info.258
│ ├── mysql_upgrade_info.259
│ ├── mysql_upgrade_info.260
│ ├── mysql_upgrade_info.261
│ ├── mysql_upgrade_info.262
│ ├── mysql_upgrade_info.263
│ ├── mysql_upgrade_info.264
│ ├── mysql_upgrade_info.265
│ ├── mysql_upgrade_info.266
│ ├── mysql_upgrade_info.267
│ ├── mysql_upgrade_info.268
│ ├── mysql_upgrade_info.269
│ ├── mysql_upgrade_info.270
│ ├── mysql_upgrade_info.271
│ ├── mysql_upgrade_info.272
│ ├── mysql_upgrade_info.273
│ ├── mysql_upgrade_info.274
│ ├── mysql_upgrade_info.275
│ ├── mysql_upgrade_info.276
│ ├── mysql_upgrade_info.277
│ ├── mysql_upgrade_info.278
│ ├── mysql_upgrade_info.279
│ ├── mysql_upgrade_info.280
│ ├── mysql_upgrade_info.281
│ ├── mysql_upgrade_info.282
│ ├── mysql_upgrade_info.283
│ ├── mysql_upgrade_info.284
│ ├── mysql_upgrade_info.285
│ ├── mysql_upgrade_info.286
│ ├── mysql_upgrade_info.287
│ ├── mysql_upgrade_info.288
│ ├── mysql_upgrade_info.289
│ ├── mysql_upgrade_info.290
│ ├── mysql_upgrade_info.291
│ ├── mysql_upgrade_info.292
│ ├── mysql_upgrade_info.293
│ ├── mysql_upgrade_info.294
│ ├── mysql_upgrade_info.295
│ ├── mysql_upgrade_info.296
│ ├── mysql_upgrade_info.297
│ ├── mysql_upgrade_info.298
│ ├── mysql_upgrade_info.299
│ ├── mysql_upgrade_info.300
│ ├── mysql_upgrade_info.301
│ ├── mysql_upgrade_info.302
│ ├── mysql_upgrade_info.303
│ ├── mysql_upgrade_info.304
│ ├── mysql_upgrade_info.305
│ ├── mysql_upgrade_info.306
│ ├── mysql_upgrade_info.