Published on

在 Windows 上安装 MySQL Community Server

Authors
  • avatar
    Name
    Hentai
    Twitter

MySQL

初始化数据目录

MySQL 5.7.7 之前的 Windows 发行版包括一个数据目录,其中包含一组数据库中的预初始化帐户mysql。从 5.7.7 开始,使用该软件包执行的 Windows 安装操作不包括数据目录。

使用 --initialize--initialize-insecure 初始化 MySQL 创建数据目录并填充 mysql 系统数据库中的表来初始化 MySQL 安装。

将 MySQL 作为 Windows 服务启动

在 Windows 上,运行 MySQL 的推荐方法是将其安装为 Windows 服务,以便 MySQL 在 Windows 启动和停止时自动启动和停止。 作为服务安装的 MySQL 服务器也可以使用 NET 命令或图形服务管理工具从命令行进行控制。 通常,要将 MySQL 安装为 Windows 服务,应该以管理员权限运行

服务管理工具(Windows 管理工具/服务)可以在 Windows 控制面板中找到。 为避免冲突,建议在从命令行执行服务器安装或删除操作时关闭 MySQL 服务。

安装服务

使用以下命令将服务器安装为服务:

.\bin\mysqld.exe --install
# 输出
Service successfully installed.

--install 命令不会启动服务器。

MySQL 服务

启动服务

将 MySQL 服务器实例安装为服务后,Windows 会在 Windows 启动时自动启动该服务。 该服务也可以立即从服务实用程序启动,或者使用 sc start mysqld_service_nameNET START mysqld_service_name 命令。 SC 和 NET 命令不区分大小写。

sc start MySQL
# 或
net start MySQL

当作为服务运行时,mysqld 无法访问控制台窗口,因此在那里看不到任何消息。 如果 mysqld 没有启动,请检查错误日志以查看服务器是否在其中写入任何消息以指示问题的原因。 错误日志位于 MySQL 数据目录中(如, C:\Program Files\MySQL\MySQL Server 5.7\data.err )。

当 MySQL 服务器已作为服务安装并且该服务正在运行时,Windows 会在 Windows 关闭时自动停止该服务。 也可以使用服务管理工具、sc stop mysqld_service_name 命令、NET STOP mysqld_service_name 命令或 mysqladmin shutdown 命令手动停止服务器。

连接到 MySQL 服务器

要连接到服务器,通常需要在调用 mysql 时提供 MySQL 用户名,并且很可能需要提供密码。 如果服务器在您登录的机器以外的机器上运行,还必须指定主机名。 使用 source 导入 sql 脚本时若出现字符集不匹配,可以尝试指定默认字符集 --default-character-set=utf8

# 默认密码为空
.\bin\mysql -h localhost -u root -p --default-character-set=utf8

-h 和 -u 代表你的 MySQL 服务器运行的主机名和你的 MySQL 帐户的用户名。

修改数据库密码

GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;   /* 运行此命令则立即生效,不需要重启服务器 */

删除服务

要删除作为服务安装的服务,如果它正在运行,首先通过执行 SC STOP mysqld_service_nameNET STOP mysqld_service_name 将其停止。 然后使用 SC DELETE mysqld_service_name 将其删除:

SC DELETE MySQL

或者,使用 mysqld --remove 选项删除服务。

参考链接