windows安装mysql多实例报错记录

记录一次windows上安装mysql多实例错误

首先mysql多服务的安装网上有很多教程:
windows下安装mysql多实例

问题描述:当在windows上面安装多个mysql服务时,出现服务无法启动的问题。

如下图所示:
windows安装mysql多实例报错记录_第1张图片

1,出现这个问题首先要检查一下.ini配置文件,我这里主要是因为basedir和dataddir两个参数的路径分隔符错了。

错误的格式:
在这里插入图片描述
正确的格式:
在这里插入图片描述

2,还有可能是未进行初始化操作

通过mysqld --initialize(初始化时生成root的随机密码)或者mysqld --initialize-insecure(对root用户不设置密码),进行初始化设置。这个错误主要是因为通过解压mysql压缩包进行安装时,首先需要我们自定义my.ini 配置文件,配置文件中会指定datadir,即数据库的存放目录,这个存放目录在解压后也是没有的,所有需要通过mysqld initialize进行初始化设置。不要通过手动的创建data文件夹,这样会缺少相关文件。
windows安装mysql多实例报错记录_第2张图片
windows安装mysql多实例报错记录_第3张图片

3,配置文件字符编码的问题:

通过mysqld --console可以查看mysql的报错信息
windows安装mysql多实例报错记录_第4张图片
更改my.ini配置文件的编码格式为ANSI编码。

5,mysql报错 this is incompatible with sql_mode = only_full_group_by

只需要在mysql的配置文件my.ini的[mysqld]下添加以下语句:

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
mysql常用命令:

1,mysql服务安装命令

mysqld -install mysql3306(mysql服务实例名) --defaults-file="xxx/my.ini"(配置文件所在路径)

2,mysql初始化命令

mysqld --initialize   #初始化时为root创建随机密码
mysqld --initialize-insecure   #初始化时不为root制定密码,密码为空

3,mysql服务启动命令

net start mysql3306(mysql实例名或服务名)

4,mysql服务终止命令

net stop mysql3306

5,移除mysql服务

mysqld --remove mysql3306(mysql实例名)

6,查看mysql运行日志

mysqld --console

7,修改mysql root密码(版本为mysql5.7)

#首先在my.ini配置文件的最后加上skip-grant-tables,跳过身份验证。
#然后重启mysql服务
#进入需要更改的mysql实例的bin目录下。
#使用mysql -u root命令进入mysql终端。
#use mysql,切换到"mysql"数据库,"mysql"数据库内有user表。
#update user set authentication_string=PASSWORD('新密码') where User='root',注意这里一定要使用PASSWORD()函数进行密码设置。

你可能感兴趣的:(数据库相关)