安装MySQL 8社区版
mysql安装包下载解压之后之后,不能直接使用,需要进行必要的初始化才能正常运行。
安装与初始化
一、将下载到的压缩包解压到某个目录。
二、运行目录下的bin\mysqld.exe程序初始化数据项目
bin\mysqld.exe --defaults-file=C:\my.ini --initialize --console
说明:
该命令会创建默认的数据目录,并生成mysqld服务运行的必要的数据文件
参数解析:
- --defaults-file 【可选】指定配置文件路径,这个路径必须出现在第一个位置
- --initialize 初始化时必选,不指定代表运行服务文件
- --initialize-insecure 【可选】不使用密码初始化数据库文件
- --console 【可选】将日志显示到控制台
如果不指定配置文件位置,将使用默认的配置。默认的配置会将数据文件存储在 [mysql解压目录]/data 下。
执行bin\mysqld 即可启动mysql服务
mysqld是mysql服务的核心程序,所有的mysql服务相关的操作,基本都是通过msyqld实现的。
使用配置文件
在windows下,会默认使用如下顺序检测msyqld配置文件(以下表格来源于mysql官方手册)
位置 | 说明 |
---|---|
%WINDIR%\my.ini %WINDIR%\my.cnf |
Global options |
C:\my.ini C:\my.cnf |
Global options |
BASEDIR\my.ini BASEDIR\my.cnf |
Global options |
defaults-extra-file | The file specified with --defaults-extra-file, if any |
%APPDATA%\MySQL.mylogin.cnf | Login path options (clients only) |
DATADIR\mysqld-auto.cnf | System variables persisted with SET PERSIST or SET PERSIST_ONLY (server only) |
通常情况下,我们只需要在相应的位置创建配置文件即可.
以下是一个配置文件示例
[mysqld]
datadir=data
log-error=logs\mysqld.log
pid-file=logs\mysqld.pid
说明:
- datadir: 指定数据目录的位置,可以使用绝对路径。如果使用相对路径,则相对的上级目录是msyql的basedir(默认是mysql的安装目录)。如不指定,默认值是 basedir/data
- log-error: 指定日志文件的位置,可以使用绝对路径.使用相对路径时,路径的上级目录是datadir,默认值为是datadir/hostname.err
- pid-file: 指定pid文件的位置,可以使用绝对路径,使用相对路径时,路径的上级目录是datadir,默认位置是datadir/[hostname].pid
我们也可以通过给mysql服务的运行程序mysqld添加参数的方式,指定配置文件
示例,我们可以通过如下命令让mysqld使用 d:\mysqld.cnf的配置初始化和或者运行。
mysqld --defaults-file=d:\mysqld.cnf #使用指定文件运行服务
mysqld --defaults-file=d:\mysqld.cnf --initialize #使用指定配置文件初始化数据库服务
注意,如果要使用自定义的配置文件,--defaults-file必须是第一个参数。
运行服务
直接运行服务
通过运行程序mysqld可以直接启动服务,以下是3个运行服务的示例
bin\mysqld # 使用默认的配置运行mysql服务
bin\mysqld --defaults-file=d:\mysqld.cnf # 使用指定的配置文件运行服务
bin\mysqld --defaults-file=d:\mysqld.cnf --datadir=d:\data # 使用指定配置文件运行服务,并且额外指定一些参数
mysqld服务在运行时,除了使用配置文件里面的配置之外,还可以接受命令行参数。
同理,这些命令行参数也可以写在配置文件里。可以通过mysqld --verbose --help获取更多的参数细节
将mysqld安装为windows服务
使用命令的方式运行的服务,每次都要手动启动,不能随着系统的启动而启动,我们可以通过mysqld的安装模块,将msyqld安装为windows服务。
mysqld --install [servername] --defaults-file=path ...
说明
- --install 【必选】将mysql安装为服务
- servername 【可选】,在windows中的服务名称,不设置默认为MySQL
- --defaults-file 【可选】,指定默认配置文件路径,如过不设置,表示使用默认配置。
可以在--install后添加更多的参数,如果我们使用更多参数时,servername必须提供。
在将mysqld安装为服务后,就可以使用windows的标准服务命令来控制mysql服务了,包括windows的net命令,以及管理控制台的服务模块。
参考资料来自mysql官方文档