linux初始化安装mysql数据库_Linux环境安装MySQL需初始化_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"命令;

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

设置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

/opt/mysql-5.1.40/bin/mysqld.exe --bootstrap --console

/opt/mysql-5.1.40/bin/mysqld.exe --bootstrap --console

运行/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,访问数据库服务,验证数据库是否正常。

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

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值