记录一次windows上安装mysql多实例错误
首先mysql多服务的安装网上有很多教程:
windows下安装mysql多实例
问题描述:当在windows上面安装多个mysql服务时,出现服务无法启动的问题。
如下图所示:
1,出现这个问题首先要检查一下.ini配置文件,我这里主要是因为basedir和dataddir两个参数的路径分隔符错了。
错误的格式:
正确的格式:
2,还有可能是未进行初始化操作
通过mysqld --initialize(初始化时生成root的随机密码)或者mysqld --initialize-insecure(对root用户不设置密码),进行初始化设置。这个错误主要是因为通过解压mysql压缩包进行安装时,首先需要我们自定义my.ini 配置文件,配置文件中会指定datadir,即数据库的存放目录,这个存放目录在解压后也是没有的,所有需要通过mysqld initialize进行初始化设置。不要通过手动的创建data文件夹,这样会缺少相关文件。
3,配置文件字符编码的问题:
通过mysqld --console可以查看mysql的报错信息
更改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()函数进行密码设置。