Linux环境安装MySQL需初始化

数据库
Linux是一类Unix计算机操作系统的统称,Linux操作系统也是自由软件和开放源代码发展中最著名的例子,在Linux环境下安装MySQL数据库之后不能直接启动,必须先对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"命令;

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

  设置mysql配置文件。主要是设置basedir(mysql的home目录,如:/opt/mysql-5.1.40)和datadir(数据库文件目录,如:/var/db/mysql)两个参数。

  初始化数据库目录,检查/var/db/mysql和/var/db/mysql/mysql(系统数据库)目录是否存在,若不存在则手工创建之。

  准备初始化数据库的sql脚本。将/opt/mysql-5.1.40/share目录下的mysql_system_tables.sql、 mysql_system_tables_data.sql和fill_help_tables.sql三个文件拷贝到/tmp目录下,并在每个文件的最开始插入“use mysql;”一行。

  执行下列命令,初始化数据库:

  /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

  运行/opt/mysql-5.1.40/bin/mysqld.exe启动数据库服务(注意:停止数据库服务的命令是/opt/mysql-5.1.40/bin/mysqladmin.exe -uroot shutdown)。

  运行/opt/mysql-5.1.40/bin/mysql.exe -uroot,访问数据库服务,验证数据库是否正常。

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

完成了上文中的工作MySQL数据库就能在Linux环境下正常的运行了。

【编辑推荐】

  1. 教你为MySQL数据库换挡加速
  2. linux平台下启动Oracle数据库的方法
  3. Linux环境下安装MySql数据库的方法
  4. linux下的常用mysql命令
责任编辑:迎迎 来源: 中国建站
相关推荐

2010-02-24 15:41:19

Linux Light

2023-05-08 15:55:16

MySQL数据库

2023-11-12 23:08:17

C++初始化

2024-10-29 11:27:27

2010-03-11 19:25:35

Python环境

2010-02-07 14:50:46

Ubuntu配置文件

2010-03-25 14:42:33

2011-06-17 15:29:44

C#对象初始化器集合初始化器

2010-06-21 10:25:09

Linux APM

2011-07-06 14:16:25

Linux服务器Shell脚本

2020-12-03 09:50:52

容器IoC流程

2021-03-12 10:30:11

SpringMVC流程初始化

2010-07-28 10:22:33

FlexApplica

2022-07-06 10:37:45

SpringServlet初始化

2019-11-04 13:50:36

Java数组编程语言

2009-09-08 09:48:34

LINQ初始化数组

2009-11-11 15:29:15

ADO初始化

2010-06-04 15:47:46

MySQL初始化roo

2024-01-15 06:34:09

Gin镜像容器

2017-09-13 14:28:02

Linux初始化系统运行级别
点赞
收藏

51CTO技术栈公众号