MariaDB、Mysql数据库安装bat详解

MariaDB数据库、Mysql数据库的区别

        mariadb与mysql都属于同一类数据库管理系统。但是mariadb与mysql在使用范围和使用目的上都有所不同,两者的主要功能都是为了通过开源社区在维护中,从而获得GPL授权许可。从关系上来看,mariadb是属于数据库管理系统的开发和升级版本,它仅仅代表MySQL的一个分支。

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。

        MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

MariaDB数据库、Mysql数据库的安装

无论MariaDB还是Mysql数据库,都属于分布式数据结构,采用"端口+服务"的配置方式,如果端口设置不当,经常会出现端口被占用或服务启动异常情况,为此,演示使用bat在Windows平台下安装MariaDB或Mysql。

MariaDB安装目录 

1、为数据库设置服务名称和端口号,以便进行区分(要由区分度,避免端口号和服务名称冲突)

rem ==========Set Server Service Port==========

set SERVICE_MARIADB_PORT=10007

rem ==========Set Server Service Name==========
set SERVICE_MARIADB_NAME=MariaDB_Test

2、检测本地机器是否安装该服务,如没有则进行服务器安装

echo -----Install MariaDB Service-----	
rem set Mysql install path
cd /d "%~dp0mariadb-5.5.64-winx64"

rem install MariaDB Fully
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%SERVICE_MARIADB_NAME%"
if %ERRORLEVEL% == 1 (
	echo -----Install MariaDB_Test Service-----
	del /f /s /q /a "%~dp0"\*.ini	
	del /f /s /q /a  "%~dp0"\mariadb-5.5.64-winx64\data\ib*
	%dir%:
	call modify.bat %AC_SERVICE_MARIADB_PORT%
	call mariadb_install.bat %AC_SERVICE_MARIADB_NAME%, %SERVICE_MARIADB_PORT%, %input%
	@goto normalSequence
) else (
	echo ----MariaDB_AC is already installed----
	@goto checkDatabaserunning
)

3、 根据需求,传参配置数据库(配置服务名称、端口号)

echo off
setlocal enabledelayedexpansion
set root=%cd%

@echo off >%root%/my-huge.ini
echo [client] >>my-huge.ini
echo port=%SERVICE_MARIADB_PORT% >>my-huge.ini
echo socket=/tmp/mysql.sock >>my-huge.ini
echo [mysqld] >>my-huge.ini
echo port=%SERVICE_MARIADB_PORT% >>my-huge.ini
echo socket=/tmp/mysql.sock >>my-huge.ini
echo basedir=%root:\=\\% >>my-huge.ini
echo datadir=%root:\=\\%\\data >>my-huge.ini
echo skip-external-locking >>my-huge.ini
echo key_buffer_size=384M >>my-huge.ini
echo max_allowed_packet=16M >>my-huge.ini
echo table_open_cache=512 >>my-huge.ini
echo sort_buffer_size=2M >>my-huge.ini
echo read_buffer_size=2M >>my-huge.ini
echo read_rnd_buffer_size=8M >>my-huge.ini
echo myisam_sort_buffer_size=64M >>my-huge.ini
echo thread_cache_size=8 >>my-huge.ini
echo query_cache_size=32M >>my-huge.ini
echo thread_concurrency=8 >>my-huge.ini
echo server-id=1 >>my-huge.ini
echo innodb_flush_log_at_trx_commit=0 >>my-huge.ini
echo innodb_buffer_pool_size=3072M >>my-huge.ini
echo [mysqldump] >>my-huge.ini
echo quick >>my-huge.ini
echo max_allowed_packet=16M >>my-huge.ini
echo [mysql] >>my-huge.ini
echo no-auto-rehash >>my-huge.ini
echo [myisamchk] >>my-huge.ini
echo key_buffer_size=256M >>my-huge.ini
echo sort_buffer_size=256M >>my-huge.ini
echo read_buffer=2M >>my-huge.ini
echo write_buffer=2M >>my-huge.ini
echo [mysqlhotcopy] >>my-huge.ini
echo interactive-timeout >>my-huge.ini
echo [WinMySQLAdmin] >>my-huge.ini  
echo Server=%root:\=\\%\\bin\mysqld.exe >>my-huge.ini

modify.bat实现内容

执行 modify.bat后,my-huge.ini配置文件变成如下:

[client] 
port=10007 
socket=/tmp/mysql.sock 
[mysqld] 
port=10007 
socket=/tmp/mysql.sock 
basedir=D:\\Program Files (x86)\\Test\\Server\\mariadb-5.5.64-winx64 
datadir=D:\\Program Files (x86)\\Test\\Server\\mariadb-5.5.64-winx64\\data 
skip-external-locking 
key_buffer_size=384M 
max_allowed_packet=16M 
table_open_cache=512 
sort_buffer_size=2M 
read_buffer_size=2M 
read_rnd_buffer_size=8M 
myisam_sort_buffer_size=64M 
thread_cache_size=8 
query_cache_size=32M 
thread_concurrency=8 
server-id=1 
innodb_flush_log_at_trx_commit=0 
innodb_buffer_pool_size=3072M 
[mysqldump] 
quick 
max_allowed_packet=16M 
[mysql] 
no-auto-rehash 
[myisamchk] 
key_buffer_size=256M 
sort_buffer_size=256M 
read_buffer=2M 
write_buffer=2M 
[mysqlhotcopy] 
interactive-timeout 
[WinMySQLAdmin]   
Server=D:\\Program Files (x86)\\Test\\Server\\mariadb-5.5.64-winx64\\bin\mysqld.exe 

 4、执行modify_install.bat进行安装数据库

@echo off

echo ********************MariaDB Installing***********************
"%~dp0bin\mysqld" --install %SERVICE_MARIADB_NAME% --defaults-file="%~dp0my-huge.ini"

net start %SERVICE_MARIADB_NAME%

echo -----create Mysql database and table-----
set dbhost=127.0.0.1
set dbuser=root

set test1_sqlfile=test1.sql
set test2_sqlfile=test2.sql

cd /d "%~dp0"\bin

mysqladmin -P"%SERVICE_MARIADB_PORT%" -uroot flush-privileges password "%input%"

SET sqlpath="%~dp0"

mysql  -P"%SERVICE_MARIADB_PORT%" -u%dbuser% -p%input% < %sqlpath%%ac_sqlfile% --default-character-set=utf8
mysql -P"%SERVICE_MARIADB_PORT%" -u%dbuser% -p%input% < %sqlpath%%attentdance_sqlfile% --default-character-set=utf8

    备注:input是设置的数据库密码,可通过加密方式进行传输,保证数据安全性。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值