Windows环境下初始化mysql

Linux环境中,安装好mysql后,还不能直接启动服务,必须先对数据库进行初始化。初始化的工作主要包括:

  • 初始化日志、表空间等数据库必须的文件;
  • 创建并初始化系统数据库(mysql)。

初始化完成后,启动mysqld守护进程,方可访问数据库。

在Windows的环境下,安装包内已经自带了一个初始化好的环境,安装后展开在mysql根目录的data子目录。所以并不需要手工进行初始化。但是某些情况下,也可能需要从零开始初始化数据库,比如:

  • 数据文件被破坏,需要重建;
  • 希望保留现有环境不动,建立一个新的环境;
  • 希望建立一个干净的环境。

不幸的是,Linux环境下是利用mysql_install_db.sh脚本初始化数据库环境的;而在windows版中并没有提供相应的脚本。那么该怎么办呢?

经过对Linux环境下的mysql_install_db.sh的分析,发现初始化数据库的命令主要是以下几行:

mysql_install_db.sh

# Pipe mysql_system_tables.sql to "mysqld --bootstrap"
s_echo "Installing MySQL system tables..."
if { echo "use mysql;"; cat $create_system_tables $fill_system_tables; } | eval "$filter_cmd_line" | $mysqld_install_cmd_line > /dev/null
then
  s_echo "OK"

s_echo "Filling help tables..."
  # Pipe fill_help_tables.sql to "mysqld --bootstrap"
  if { echo "use mysql;"; cat $fill_help_tables; } | $mysqld_install_cmd_line > /dev/null
  then
    s_echo "OK"
......

其中:

  • $create_system_tables、$fill_system_tables和$fill_help_tables分别是创建系统数据库、初始化系统数据库中的数据、和初始化帮助数据;
  • $filter_cmd_line是过滤掉主机名(用于交叉初始化非本机运行数据库环境的情况,可忽略);
  • $mysqld_install_cmd_line主要是"mysqld --bootstrap"命令;

分析清楚上述内容,就可以自己手工初始化数据库了。具体步骤如下:

  1. 设置mysql配置文件。主要是设置basedir(mysql的home目录,如:/opt/mysql-5.1.40)和datadir(数据库文件目录,如:/var/db/mysql)两个参数。
  2. 初始化数据库目录,检查/var/db/mysql和/var/db/mysql/mysql(系统数据库)目录是否存在,若不存在则手工创建之。
  3. 准备初始化数据库的sql脚本。将/opt/mysql-5.1.40/share目录下的mysql_system_tables.sql、mysql_system_tables_data.sql和fill_help_tables.sql三个文件拷贝到/tmp目录下,并在每个文件的最开始插入“use mysql;”一行。
  4. 执行下列命令,初始化数据库:
    • /opt/mysql-5.1.40/bin/mysqld.exe --bootstrap --console < /tmp/mysql_system_tables.sql
    • /opt/mysql-5.1.40/bin/mysqld.exe --bootstrap --console < /tmp/mysql_system_tables_data.sql
    • /opt/mysql-5.1.40/bin/mysqld.exe --bootstrap --console < /tmp/fill_help_tables.sql
  5. 运行/opt/mysql-5.1.40/bin/mysqld.exe启动数据库服务(注意:停止数据库服务的命令是/opt/mysql-5.1.40/bin/mysqladmin.exe -uroot shutdown)。
  6. 运行/opt/mysql-5.1.40/bin/mysql.exe -uroot,访问数据库服务,验证数据库是否正常。

至此数据库已初始化完毕,可以正常访问了。

时间: 2024-08-02 15:14:39

Windows环境下初始化mysql的相关文章

windows环境下使用MySQL导入数据乱码报错的解决办法

Linux及Mac系统下使用source xxx.sql 可直接导入测试数据(注意必须先切换到当前xxx.sql的目录下), 但在Windows环境下导入会出现乱码报错的情况, 主要是因为编码的问题,解决方法如下: 1. 先切换路径到xxx.sql的目录下; 2. 使用cmd或PowerShell 登陆MySQL数据库; 3. 先输入     set  names  utf8 4. 再输入      source  xxx.sql        (或者把文件夹拖到终端也可以) 原文地址:http

在windows环境下搭建mysql集群

1. 前(fei)言(hua) 最近实训老师给我们布置了一个建立mysql集群的任务,并扔了两个博客链接给我们参考,然后就没有然后了.根据老师给的博客上面的步骤试了一下,发现并不能成功建立,于是自己百度,找到了一个挺靠谱的博客,于是参考了一下,感觉总体还是不错的~ 靠谱的博客: http://blog.csdn.net/mazhaojuan/article/details/42211857 2. 理论基础知识 首先需要了解什么是管理节点.数据节点和SQL节点~ (1)管理结点:从名字可以看出来,

windows环境下修改Mysql的root密码

最近一直没用Mysql,root密码给忘了,然后就自己修改了一下,现在整理一下步骤.(我的版本是5.1) 1.首先得到Mysql的bin路径,copy下来. 右击,选择属性. 2.打开命令窗口“CMD”,将路径切换到刚刚复制的Mysql路径下: >>cd C:\Program Files\MySQL\MySQL Server 5.1\bin 关闭SQL服务: >>net stop mysql 然后再输入: >> mysqld --skip-grant-tables 3.

在Windows环境下配置MySQL集群

前言 最近在项目中用到了MySQL集群,所以就和小伙伴们研究了两天.下面给大家分享一下成果. 小编始终觉得对新事物的学习,没有比看图这种方式更好地理解了.所以先来看一张mysql集群的架构图(摘自百度百科-MySQL Cluster): 上图一共分了四层:Applications.SQL.Storage.Management. 如果您的英语不是体育老师教的的话,那么您肯定已经猜出来每一层的职责了: -–Applications主要是指需要连接数据库的应用程序: -–SQL中每一个mysqld都是

同一台电脑windows环境下的mysql的主从配置

1.下载5.6.zip包 从mysql的官网下载5.6对应的zip包,因为5.7版本解压后没有.ini文件,所以改成安装5.6版本了. 2.配置 解压zip包,并复制一份待配置从库 在我的mysql中需要D:\software\mysql\mysql1和D:\software\mysql\mysql2两个 3.安装mysql主服务器 更改D:\software\mysql\mysql1路径下的my-default.ini文件my.ini 在文件中添加如下配置: 注意这个路径的方向一定要是右斜杠,

MAC 环境下初始化mysql root 密码

1.关掉mysql服务,打开系统设置最后的mysql,然后将mysql先关掉 2.生成一个文件命名mysql-init,文件中放入:一句话,这句话不同版本不一样,如下:(括号里面不包含) alter user ‘root’@‘localhost’ identified by ‘新密码’:(MySQL 5.7.6 and later) set password for ‘root’@‘localhost’=password(‘新密码’);(MySQL 5.7.5 and earlier) 3.cd

Windows环境下 PyQt5 如何安装MySql驱动 (PyQt5连接MYSQL时显示Driver not loaded解决方案)

参考文章: https://blog.csdn.net/qq_38198744/article/details/80261695 前文说过如何在Ubuntu环境下 为PyQt5  安装MySql驱动, 这里面主要说的是如何在Windows环境下安装MySql驱动. # -*- coding: utf-8 -*- ''' [简介] PyQt5中 处理database 例子 ''' import sys from PyQt5.QtCore import * from PyQt5.QtGui impo

《高可用MySQL》1 – Windows环境下压缩版MySQL安装

近日在读O'REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容. Master-Slave这东西吧.在很多公司都是标配.开发中基本天天都用.遇到的问题自然也不少(如主从不同步,Master宕机).但操作权限很有限.有些东西,仅仅有自己看了.做了,才干真正知道原理是什么,也才干更好的去把握. 本文是高可用MySQL的第一篇读书笔记,主要记录Windows环境下压缩版MySQL(基于安装版的傻瓜式安装过程这里不再提及)的安装过程. 1. 从

《高可用MySQL》读书笔记1 – Windows环境下压缩版MySQL安装

近日在读O'REILIY系列的<高可用MySQL>, 自然少不了主从(Master-Slave)配置和横向扩展相关的内容.Master-Slave这东西吧,在许多公司都是标配,开发中基本天天都用,遇到的问题自然也不少(如主从不同步,Master宕机),但操作权限非常有限.有些东西,只有自己看了.做了,才能真正知道原理是什么,也才能更好的去把握. 本文是高可用MySQL的第一篇读书笔记,主要记录Windows环境下压缩版MySQL(基于安装版的傻瓜式安装过程这里不再提及)的安装过程. 1. 从官