您的方位:文章教程 > 软件教程 > MySQL5.7数据库怎样初始化办法 MySQL数据库初始化办法教程

  MySQL 5.7发布之后许多网友都在说,翻开想装置文件夹。可是文件夹中没有DATA目录, 没有mysqly默许库。发动不了数据库,那是由于5.7的数据库的初始化办法和之前的初始化不一样了。

  首要这儿所描绘的进程适用于一切渠道的MySQL。5.7.6之前,运用mysql_install_db在UNIX和类UNIX体系。MySQL 5.7.7之前,Windows散布包含了在MySQL数据库建表的数据目录。

  以下阐明假定您当时的方位是MySQL的装置目录,这儿以BASEDIR为例

  shell》 cd BASEDIR

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

  在Windows环境下,运用这些指令:

  C:\》 bin\mysqld --initialize

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

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

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

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

  不然,履行程序,而身份登录mysql的,在这种情况下能够省掉 --user从指令选项。

  不管任何渠道,运用 --initialize为“ 默许安全 ”的装置(即包含发生一个随机的初始根暗码)。在这种情况下,暗码被标记为过期,你需求挑选一个新的暗码。跟着 --initialize-insecure 的选项,没有root口令生成; 假定你把服务器投入运用之前指定一个暗码及时查询账户。

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

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

  --basedir=/opt/mysql/mysql

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

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

  [mysqld]

  basedir=/opt/mysql/mysql

  datadir=/opt/mysql/mysql/data

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

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

  --initialize --user=mysql

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

  [mysqld]

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

  datadir=D:\\MySQLdata

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

  1C:\》 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账户时。服务器生成一个随机的暗码,将其标记为已过期,并写入显现暗码的音讯:

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

  iTag*AfrH5ej

  -- 当用 --initialize-insecure账户时分。服务器不会生成一个暗码,会将其标记为过期,并写入一条正告音讯:

  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初始化数据目录,衔接到服务器的 根目录运用的随机暗码,服务器初始化进程中发生的:

  shell》 mysql -u root -p

  Enter password: (enter the random root password here)

  假如您不知道该暗码,检查服务器过错日志。

  假如你运用--initialize-insecure初始化数据目录衔接到服务器的root没有暗码:

  shell》 mysql -u root --skip-password

  ---衔接后,会分配一个新的root暗码:

  mysql》 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new_password’;

  留意

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

  以上便是当客小编收拾的关于数据库初始化的办法教程,更多软件教程欢迎重视当客软件园