windowserver上搭建两个不同端口和名称的mysql服务

首先明确成功的原则:

端口号不同:3306--3307

服务名称不同:注册的时候名称不同MySQL---MySQL2

1、两个mysql的安装路径不能相同

  本人选择的是安装版本的mysql-5.6.20-win32.msi文件,直接点击安装;

类型中选择custom,更改安装的路径和选择数据存储在本地


windowserver上搭建两个不同端口和名称的mysql服务_第1张图片


windowserver上搭建两个不同端口和名称的mysql服务_第2张图片



windowserver上搭建两个不同端口和名称的mysql服务_第3张图片

上图中的两个文件,MySQL Server文件的存放路径和Server data files两个文件存放在不同的文件中,两个数据库对应的这两个安装位置不相同;

2、修改my-default.ini 文件

主要是端口和安装路径的修改

找到安装路径下的my-default.ini(修改之前请备份)

修改或者添加如下的属性

对于第一个mysql(如果是默认安装也可以不修改,直接修改第二个就可以了)

[client]

port=3306

[mysqld]

port=3306

basedir="D:\MySQLServer\my-default.ini"

datadir="D:\MySQLDataServer\data\"

对于第二个mysql

[client]

port=3307

[mysqld]

port=3307

basedir="E:\MySQLServer\my-default.ini"

datadir="E:\MySQLDataServer\data\"

为第二个mysql添加环境变量,(没有测试不添加的情况是否能够成功)

环境变量 E:\MySQLServerbin;(根据安装目录)将路径放到

右击-计算机 属性 -高级系统设置 -最下面环境变量 ,

在系统变量里面找Path ,将路径放到Path 的值的最前端,

注意不要删掉里面原来的任何一个字母,不要忘记咱mysql后面的 分号。

3、注册服务

运行 cmd

输入盘符例如:“D:” 进入到安装的mysql盘

cd MySQLServer\bin

mysqld install -MySQL2 --defaults-file='E:\MySQLServer\my-default.ini' 回车运行

会出现success 成功

{

进入注册表查看是否对应的服务ImagPath与my-default.ini路径相同(相同就不用修改了)

运行 regedit进入到注册表

HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->Services

找到刚才创建的MySQL2,将ImagePath修改成如下":

"E:\MySQLServer\bin\mysqld" --defaults-file="E:\MySQLServer\my-default.ini" MySQL2

}


4、见证奇迹的时刻到了

{net start MySQL},Mysql 服务如果无法启动。

这时要先删除MYSQL目录下的data文件夹,

然后在终端里面输入{ mysqld --initialize }初始化一下,

然后会在目录下自动生成data文件夹,

然后net start mysql就可以启动MYSQL服务了。

.如果遇到 ERROR 2003: Can't connect to MySQL server on 'localhost'

(10061)     这个错,直接删掉my.ini文件.放心,一样能用.

5、

此时还在命令行的bin目录下

输入mysql -u root -p 第一次登陆没有密码,直接回车;如果出现如下错误

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:NO)。

输入命令 mysqld --skip-grant-tables (本人的命令行窗口卡在了这里,等了半天,手动关闭后,重新进入到该bin目录下)跳过密码

接着上输入:mysql -u root -p 回车,进入到了数据库中;

更改密码

UPDATE user SET Password=PASSWORD('newpassword')

where USER='root';就可以了;

有的版本可能报错,如下修改

查了一下user表,发现根本没有password字段,后来才知道用的是authentication_string字段。

所以,现在要执行的语句是 {update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';}

命令:{FLUSH PRIVILEGES;},加载权限表,让新密码生效!重启服务。再进入mysql输入正确的密码就可以了。这的密码是123456哦.

你可能感兴趣的:(windowserver上搭建两个不同端口和名称的mysql服务)