2

我需要静默安装和配置 MySQL 服务器。

为此,我创建了一个批处理文件:

echo Installing MySQL Server. Please wait...

msiexec /i "mysql-5.5.32-winx64.msi" /qn

echo Configurating MySQL Server...

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqlinstanceconfig.exe" -i -q ServiceName=MySQL RootPassword=mysql ServerType=DEVELOPER DatabaseType=MYISAM Port=3306 Charset=utf8

echo Installation was successfully

我需要安装 MySQL 服务器并允许其他客户端通过 Checked 连接服务器Enable root access from remote machines

默认情况下,该选项是禁用的。

您可以在此处查看 GUI 配置:

在此处输入图像描述

那么,如何Checked将该选项设置为批处理文件?

4

1 回答 1

3

只是为了回答这个主题的问题,我应该说对于 CHECKEnable root access from remote machines选项,您只需要添加SkipNetworking=no到批处理文件配置行。

上面的命令允许所有客户端连接到 root 用户,这不是一个明智的方法。

正如@MikeBrant 在评论中所说,这是共享 MySQL 数据库的最糟糕方式。

取而代之的是这种不安全的方式,我们需要创建一个用户并做到GRANT ACCESS这一点,如下所示:

@echo off
echo Installing MySQL Server. Please wait...

msiexec /i "mysql-5.5.32-win32.msi" /qn

echo Configurating MySQL Server...

"%ProgramFiles%\MySQL\MySQL Server 5.5\bin\mysqlinstanceconfig.exe" -i -q ServiceName=MySQL RootPassword=mysql ServerType=DEVELOPER DatabaseType=MYISAM Port=3306 Charset=utf8

echo MySQL has been installed successfully

setx PATH "%%Program Files%\MySQL\MySQL Server 5.5\bin%;"

cd /
c:

mysql --user=root --password=mysql -e "CREATE USER 'myuser'@'localhost' IDENTIFIED BY '123456';"
;

mysql --user=root --password=mysql -e "GRANT ALL ON mydatabase.* TO 'myuser'@'192.168.0.%' IDENTIFIED BY '123abc' WITH GRANT OPTION; FLUSH PRIVILEGES;"

祝你好运

于 2013-06-12T15:06:54.253 回答