Mysql:安装(Windows)

来自Wikioe
Eijux讨论 | 贡献2021年10月23日 (六) 03:12的版本
跳到导航 跳到搜索


下载安装包

一般选择的是社区版(MySQL Community Server)的GA版本(正式发布版本、生产版本),链接MySQL::Download MySQL Community Server

选择的安装文件:

  1. “mysql-xxx-win64.msi”:windows安装包,msi安装包是用msiexec安装完成的。windows下双击根据向导安装即可,简单方便。
  2. “mysql-xxx.zip”:windows源文件,需要编译。
  3. “mysql-xxx-win64.zip”:编译好的windows64位MySQL,文件解压缩后即可使用(需要手工配置)。
下载MySQL安装文件.jpg
  • 当前使用“mysql-5.7.33-winx64.zip”;

安装 MySQL(mysql-5.7.33-winx64.zip)

解压缩软件包

解压缩下载包,到文件夹(如“D:\Program Files\mysql-5.7.33-winx64”)

配置环境变量

  1. 添加新变量“MYSQL_HOME”为“D:\Program Files\mysql-5.7.33-winx64”;
  2. 在“path”变量中添加“%MYSQL_HOME%\bin”;

添加配置文件

在MySQL文件夹中新建“my.ini”作为配置文件:

  • 用于配置MySQL的基础设置,如字符集、引擎、端口、安装目录、数据目录等。
[mysql]  
# 设置 mysql 客户端默认字符集  
default-character-set=utf8 
 
[mysqld]  
#设置 3306 端口  
port = 3306  

# 设置 mysql 的安装目录  
basedir=C:\Program Files\mysql-5.7.23-winx64

# 设置 mysql 数据库的数据的存放目录  
datadir=C:\Program Files\mysql-5.7.23-winx64\data 

# 允许最大连接数  
max_connections=200  

# 服务端使用的字符集默认为 8 比特编码的 latin1 字符集  
character-set-server=utf8  

# 创建新表时将使用的默认存储引擎  
default-storage-engine=INNODB

数据目录初始化

  • (cmd管理员进入MySQL目录)
  • 安装 MySQL 之后,必须初始化数据目录,包括 mysql 系统数据库中的 table:
    对于某些 MySQL 安装方法,数据目录初始化是自动的。(如在 Windows 上通过msi文件的自动化安装过程)
    对于其他安装方法,必须手动初始化数据目录。(包括在 Unix 和类似 Unix 的系统上从通用二进制发行版和源代码发行版进行安装,以及在 Windows 上从 ZIP Archive 软件包进行安装)
  • 通常,仅在首次安装 MySQL 之后才需要进行数据目录初始化。
    但是,初始化数据目录的命令不会覆盖任何现有的mysql数据库 table,因此在任何情况下都可以安全运行。


执行初始化命令:

mysqld --initialize-insecure --user=mysql

用于数据目录初始化:建立默认的数据库(目录中多出一个“data”文件夹),用户名为“root”,密码为空。

文件:MySQL初始化.jpg


  • 数据目录初始化期间的服务器操作:服务器检查数据目录是否存在
    1. 如果不存在数据目录,则服务器将创建它。
    2. 如果数据目录存在但不为空(即它包含文件或子目录),则服务器在生成错误消息后退出:
      [ERROR] --initialize specified but the data directory exists. Aborting.
      
      在这种情况下,请删除或重命名数据目录,然后重试。
  • “--initialize”与“--initialize-insecure”命令的区别:
    1. 使用“--initialize”进行“默认安全”安装(即,包括生成随机的初始root密码)。在这种情况下,密码被标记为已过期,您将需要选择一个新密码。
      (以 root 连接到服务器时,“mysql -u root -p”需要生成的临时密码,如果忘记该密码,则查看错误日志。)
    2. 使用“--initialize-insecure”时,不会生成root密码。这是不安全的;假定您在将服务器投入生产使用之前会及时为帐户分配密码。
      (以 root 连接到服务器时,不使用密码登录“mysql -u root --skip-password”。)
  • 使用“--user=mysql”旨在以“mysql”身份运行该命令;
  • 在 Windows 上,使用“--console”选项将消息定向到控制台。
    否则不会在屏幕上看到消息,服务器将任何消息(包括任何初始密码)写入其标准错误输出,需要查看“错误日志”。

安装

  • (cmd管理员进入MySQL目录)

执行安装命令:

mysqld -install
  • “--install [service_name]”命令,将服务器安装为 Windows 服务(自动启动)。如果未提供“[service_name]”值,则默认服务名称为“MySQL”。
  • “--install-manual [service_name]”命令,将服务器安装为 Windows 服务(手动启动)。如果未提供“[service_name]”,则默认服务名称为“MySQL”。


  • 第一次安装的话会显示“Service successfully installed.”;
    如果已经安装过了则会显示“The service already exists! ...”
    安装服务.jpg
  • 查看MySQL版本:
    mysql --version
    
    查看MySQL版本.png

window服务设置

安装完成则可以在Windows服务中看到名为“MySQL”的服务,可以自行设置自启动等;

卸载MySQL

  • 切换 MySQL 版本的时候,需要先移除服务再安装。

执行命令移除MySQL服务:

mysqld -remove

进入 MySQL

  1. 启动服务:使用Windows的cmd执行命令,用于手动启动服务:
    net start mysql
    
  2. 登录:
    mysql -u root -p
    
  3. 设置密码:
    use mysql;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    
  4. 操作数据库:如查看存在的数据库等:
    show databases;
    
  5. 退出和停止:
    quit  // 退出
    net stop mysql // 停止服务
    

附:安装 MySQL(mysql-installer-community-5.7.33.0.msi)

使用Windows Installer安装MySQL顺序而行,没有特别需要注意的地方: