MySQL 5.7发布之后很多网友都在说,打开想安装文件夹.但是文件夹中没有DATA目录, 没有mysqly默认库.启动不了数据库,那是因为5.7的数据库的初始化方法和之前的初始化不一样了。



首先这里所描述的过程适用于所有平台的MySQL。5.7.6之前,使用mysql_install_db在UNIX和类UNIX系统。MySQL 5.7.7之前,Windows分布包括了在MySQL数据库建表的数据目录。



MySQL5.7数据库 64位 5.7.10 官方最新版

授权方式:免费软件软件类型:国外软件软件语言:英文软件大小:89.94 MB更新日期:2015-12-08运行环境:WinXP, Win2008, Win7, Win8

下载地址

MySQL5.7 32位 5.7.10 官网最新版

授权方式:免费软件软件类型:国外软件软件语言:英文软件大小:86.2 MB更新日期:2015-12-08运行环境:WinXP, Win2008, Win7, Win8

下载地址

以下说明假定您当前的位置是MySQL的安装目录,这里以BASEDIR为例



1

shell> cd BASEDIR

要初始化数据目录,调用 mysqld的与 --initialize或 --initialize不安全的选项,这取决于你是否希望服务器生成的一个随机初始密码'root'@'本地账号'的账户。



在Windows环境下,使用这些命令:



1

2

C:\> bin\mysqld --initialize

C:\> bin\mysqld --initialize-insecure

在Unix和类Unix系统,重要的是要确保数据库的目录和文件都是由拥有 MySQL的登录帐户,以便服务器具有读写访问它们,当你以后运行它。为了确保这一点,如果你运行的mysqld为root,包括 --user选项,如下所示:



1

2

shell> bin/mysqld --initialize --user=mysql

shell> bin/mysqld --initialize-insecure --user=mysql

否则,执行程序,而身份登录mysql的,在这种情况下可以省略 --user从命令选项。



无论任何平台,使用 --initialize为“ 默认安全 ”的安装(即包括产生一个随机的初始根密码)。在这种情况下,密码被标记为过期,你需要选择一个新的密码。随着 --initialize-insecure 的选项,没有root口令生成; 假设你把服务器投入使用之前指定一个密码及时查询账户。



如果mysqld的没有标识的安装目录或数据目录的正确位置.它可能需要指定其他选项,如 --basedir或 --datadir.如果mysqld的没有标识的安装目录或数据目录的正确位置。例如(输入在一行上的命令):



1

2

3

shell> bin/mysqld --initialize --user=mysql

    --basedir=/opt/mysql/mysql

    --datadir=/opt/mysql/mysql/data

另外,对于Unix和类Unix系统,假设选择文件名是 /opt/mysql/mysql/etc/my.cnf。把相关的选项设置中的选项文件和传递文件命名为 mysqld的。把文件中的这几行:



1

2

3

[mysqld]

basedir=/opt/mysql/mysql

datadir=/opt/mysql/mysql/data

然后调用mysqld,如下(输入上的一行命令 -- --defaults-file第一个选项):



1

2

shell> bin/mysqld --defaults-file=/opt/mysql/mysql/etc/my.cnf

    --initialize --user=mysql

在Windows中,假设C:\ my.ini中包含这些命令:



1

2

3

[mysqld]

basedir=C:\\Program Files\\MySQL\\MySQL Server 5.7

datadir=D:\\MySQLdata

然后调用mysqld.如下(--defaults-file必须是第一个选项)



1

C:\> bin/mysqld --defaults-file=C:\my.ini --initialize

当调用的 --initialize或 --initialize-insecure选项 ,mysqld执行下面的初始化程序。



注意



服务器写入的任何消息,以它的标准错误输出。这可能会被重定向到错误日志.



服务器会检查数据目录,如下所示的存在:



如果没有数据目录存在,则服务器将创建它。



如果数据目录存在并且不为空(即,它包含文件或子目录),产生一个错误消息后在服务器退出:



1

[ERROR] --initialize specified but the data directory exists. Aborting.

1.在这种情况下,删除或重命名数据目录,然后重试。



在MySQL 5.7.11中,现有的数据目录允许非空,如果每个条目或者具有开头一段的名称(.),请使用名为--ignore-db-dir 设置。



2.在数据目录中,服务器创建 的mysql系统数据库及其表,其中包括授权表,服务器端帮助表,时区表。



3.服务器初始化system tablespace 和管理所需的相关数据结构的InnoDB表。



注意



经过mysqld的设置了 InnoDB的system tablespace,改变一些表空间的特性需要建立一个全新的实例。这包括在system tablespace的第一个文件,撤销日志的数量的文件名 ​​。在配置文件运行前的mysqld。如果你不想使用默认值,请确保该设置innodb_data_file_path中 和innodb_log_file_size 参数配置到位.同时一定要指定影响的创建和位置需要其他参数 InnoDB的文件,如 innodb_data_home_dir和 innodb_log_group_home_dir。



如果这些选项在您的配置文件中文,但该文件是不是在MySQL的读取默认的位置,使用指定文件位置 --defaults-extra-file设置.



4.服务器创建一个'root'@'localhost'的超级用户帐户。对于该帐号的密码,服务器的操作取决于你如何调用它:



-- 当用 --initialize账户而不用--initialize-insecure账户时。服务器生成一个随机的密码,将其标记为已过期,并写入显示密码的消息:



1

2

[Warning] A temporary password is generated for root@localhost:

iTag*AfrH5ej

-- 当用 --initialize-insecure账户时候。服务器不会生成一个密码,会将其标记为过期,并写入一条警告消息:



1

2

Warning] root@localhost is created with an empty password ! Please

consider switching off the --initialize-insecure option.

5.如果--init-file选项被给出以命名的SQL语句的文件时,服务器执行文件中的语句。可以进行自定义的引导序列。



服务器工作在引导方式,一些功能是不可用,限制在文件中所允许的语句。这些措施包括,涉及到账户管理(如报表CREATE USER或 GRANT),复制和标识符。



6.然后退出服务器



当您通过启动服务器初始化数据目录--initialize或--initialize-insecure,正常启动的服务器(也就是没有任何的这些选项),并指定'root'@'localhost'的一个新密码:



---启动服务器。



---链接到服务器..



如果你使用--initialize 但不使用--initialize-insecure初始化数据目录,连接到服务器的 根目录使用的随机密码,服务器初始化过程中产生的:



1

2

shell> mysql -u root -p

Enter password: (enter the random root password here)

如果您不知道该密码,查看服务器错误日志。



如果你使用--initialize-insecure初始化数据目录连接到服务器的root没有密码:



1

shell> mysql -u root --skip-password

---连接后,会分配一个新的root密码:



1

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

注意



由服务器执行的数据目录初始化序列不能代替被执行的操作 mysql_secure_installation或 mysql_ssl_rsa_setup。



本文地址:http://www.7down.net/article/81736.html

MySQL5.7数据库的初始化方法由第7下载整理并发布,欢迎转载!

mysql5.7 安装方法 (跟旧的不一样了)的更多相关文章

  1. MySQL5.7单实例二进制包安装方法

    MySQL5.7单实例二进制包安装方法 一.环境 OS: CentOS release 6.9 (Final)MySQL: mysql-5.7.20-linux-glibc2.12-x86_64.ta ...

  2. linux mysql5.5安装与配置(转帖,在网上收集,自用)

    MySQL是一个关系型数据库管理系统 ,由瑞典MySQL AB公司开发,目前属于Oracle 公司.MySQL分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码 这一特点,一般中 ...

  3. MySQL5.6安装步骤

    MySQL5.6安装步骤(windows7/8_64位) 1. 下载MySQL Community Server 5.6.11 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下 ...

  4. MySQL的热备percona-xtrabackup、innobackupex的安装方法

    http://blog.csdn.net/dbanote/article/details/13295727 http://blog.csdn.net/yangzhawen/article/detail ...

  5. PHOTOSHOP CC 2015插件安装方法

    收到很多评论说不能安装.抱歉,这里解释一下,不是所有插件都能用这个方法,安装不了的只能等插件更新了,这里只是给大家一个尝试的方法,有一些插件可以用这个方法安装. 试试嘛,如果懒得试,可以忽略这篇文章. ...

  6. TFS(Taobao File System)安装方法

    文章目录: 一.TFS(Taobao File System)安装方法 二.TFS(Taobao File System)配置dataServer.分区.挂载数据盘 三.TFS(Taobao File ...

  7. Linux软件安装方法小结(附:rpm详解)(转载)

    在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows :-))不过我们常见的软件包有两种: 1)含有软件 ...

  8. CentOS 7下的软件安装方法及策略

    一些废话 2010年开始正式接触Linux,入门发行版是Ubuntu 10.10,后来过渡到Ubunu 11.04,这其中也尝试了很多其他主流的发行版.进入实验室之后,开始用CentOS 5,然后是C ...

  9. mysql5.7安装和修改密码

    mysql5.7安装 第一 下载 https://downloads.mysql.com/archives/community/ 首先下载mysql5.7.18zip安装包 根据电脑配置选择32/64 ...

随机推荐

  1. event 下鼠标坐标的获取

    event.clientX.event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性 event.pageX ...

  2. CSS布局总结(三)

    前言:今天学的有点少,主要是有点迷.... 这是昨天没写的 一.水平居中 .parent{ text-aglin:center; } .child{ display:inline-block; } . ...

  3. MySQL 面试题(一)

    原文地址:http://www.2cto.com/database/201311/254385.html 作者:黄杉(红黑联盟) 公司招聘MySQL DBA面试心得 1    2年MySQL DBA经 ...

  4. 搭建hadoop java开发环境

    package hadoopDemo; import java.io.IOException; import java.net.URI; import java.net.URISyntaxExcept ...

  5. 紫书 习题7-13 UVa 817(dfs+栈求表达式的值)

    题目链接  点击打开链接 这道题分为两个部分, 一用搜索枚举每种可能, 二计算表达式的值, 有挺多细节需要注意 特别注意我的代码中在计算表达式的值中用到了一个!(代码枚举中的!表示不加符号, 我现在说 ...

  6. vue懒加载实现

  7. fork同一时候创建多个子进程的方法

    Fork同一时候创建多个子进程方法 第一种方法:验证通过 特点:同一时候创建多个子进程.每一个子进程能够运行不同的任务,程序 可读性较好,便于分析,易扩展为多个子进程 int main(void) { ...

  8. 浅析Java抽象类和接口的比較

    abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是因为这两种机制的存在,才赋予了Java强大的面向对象能力. abstract class和inte ...

  9. C中操作文件的几种模式

    使用文件的方式共同拥有12种,以下给出了它们的符号和意义.  文件打开方式  意义 rt  仅仅读打开一个文本文件.仅仅同意读数据  wt  仅仅写打开或建立一个文本文件,仅仅同意写数据  at  追 ...

  10. Android用canvas画哆啦A梦

    先上图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/diss ...