“Mysql:安装(Windows)”的版本间差异

来自Wikioe
跳到导航 跳到搜索
第57行: 第57行:
#: MySQL目录中多出一个“data”文件夹,包含了系统的默认数据库;
#: MySQL目录中多出一个“data”文件夹,包含了系统的默认数据库;
#* 如果使用“--initialize”还会生了一个随机的初始 root 密码。
#* 如果使用“--initialize”还会生了一个随机的初始 root 密码。
# 执行安装:
# 安装服务:
#: <syntaxhighlight lang="xml">
#: <syntaxhighlight lang="xml">
# 将服务器安装为 Windows 服务,并设置服务为“自动启动”
# 将服务器安装为 Windows 服务,并设置服务为“自动启动”

2021年10月23日 (六) 04:39的版本


下载安装包

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

下载MySQL安装文件.jpg


安装文件类型:

  1. “mysql-xxx-win64.zip”:编译好的 windows 64 位 MySQL,文件解压缩后即可使用(需要手工配置)。
  2. “mysql-xxx-win64.msi”:windows 安装包,双击执行根据向导安装即可。
  3. “mysql-xxx.zip”:windows源文件,需要编译。

安装 MySQL

以 mysql-5.7.33-winx64.zip 为例。


安装步骤:

  1. 解压缩下载包,到目的文件夹(如“D:\Program Files\mysql-5.7.33-winx64”)
  2. 配置环境变量:
    MYSQL_HOME:D:\Program Files\mysql-5.7.33-winx64;
    
    path 添加:%MYSQL_HOME%\bin;
    
  3. 新建配置文件“my.ini”:
    [mysql]  
    # 设置 mysql 客户端默认字符集  
    default-character-set=utf8 
     
    [mysqld]  
    # 设置 3306 端口  
    port = 3306  
    
    # 设置 mysql 的安装目录  
    basedir=D:\Program Files\mysql-5.7.23-winx64
    
    # 设置 mysql 数据库的数据的存放目录  
    datadir=D:\Program Files\mysql-5.7.23-winx64\data 
    
    # 允许最大连接数  
    max_connections=200  
    
    # 服务端使用的字符集默认为 8 比特编码的 latin1 字符集  
    character-set-server=utf8  
    
    # 创建新表时将使用的默认存储引擎  
    default-storage-engine=INNODB
    
    • 用于配置MySQL的基础设置,如字符集、引擎、端口、安装目录、数据目录等。
  4. 初始化数据库:
    # 初始化命令
    mysqld --initialize-insecure --user=mysql
    
    MySQL目录中多出一个“data”文件夹,包含了系统的默认数据库;
    • 如果使用“--initialize”还会生了一个随机的初始 root 密码。
  5. 安装服务:
    # 将服务器安装为 Windows 服务,并设置服务为“自动启动”
    mysqld -install [service_name]
    
    # 将服务器安装为 Windows 服务,并设置服务为“手动启动”
    mysqld --install-manual [service_name]
    
    • 如果未提供“[service_name]”值,则默认服务名称为“MySQL”。
    • 第一次安装的话会显示“Service successfully installed.”;否则会显示“The service already exists! ...”
      安装服务.jpg
  6. 验证安装:
    # 查看MySQL版本
    mysql --version
    
    查看MySQL版本.png

关于“初始化数据库”

安装 MySQL 之后,初始化数据库,包括 mysql 系统数据库中的表:

mysqld --initialize --user=mysql [--console]

mysqld --initialize-insecure --user=mysql [--console]
  1. “--user=mysql”:以“mysql”身份运行该命令。
  2. “--console”:选项将消息定向到 Windows 控制台;否则将写入其标准错误输出:“错误日志”(data目录中后缀为“.err”的文件)。
  3. “--initialize”:进行“默认安全”的初始化,即:包括生成随机的初始root密码(可在错误日志中找到)。
    • 以 root 连接到服务器时,“mysql -u root -p”需要生成的临时密码;
    • 在这种情况下,密码被标记为已过期,您将需要选择一个新密码;
  4. “--initialize-insecure”:执行初始化,但不会生成root密码
    • 以 root 连接到服务器时,不使用密码登录“mysql -u root --skip-password”;
    • 这是不安全的;假定您在将服务器投入生产使用之前会及时为帐户分配密码;


对于某些 MySQL 安装方法,数据目录初始化是自动的。(如在 Windows 上通过msi文件的自动化安装过程)

对于其他安装方法,必须手动初始化数据目录。(包括在 Unix 和类似 Unix 的系统上从通用二进制发行版和源代码发行版进行安装,以及在 Windows 上从 ZIP Archive 软件包进行安装)

初始化期间的服务器操作:服务器检查数据目录是否存在

  1. 如果不存在数据目录,则服务器将创建它。
  2. 如果数据目录存在但不为空(即它包含文件或子目录),则服务器在生成错误消息后退出:
    [ERROR] --initialize specified but the data directory exists. Aborting.
    
    • 在这种情况下,请删除或重命名数据目录,然后重试。
  • 首次安装 MySQL 之后才需要进行数据目录初始化;但,初始化数据目录的命令不会覆盖任何现有的 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顺序而行,没有特别需要注意的地方: