MySQL 在Windows平台上的安装及实例多开

时间:2023-01-07 08:36:49

MySQL在Windows平台上的安装及实例多开

 

by:授客 QQ:1033553122

测试环境

Win7 64

mysql-5.7.20-winx64.zip

下载地址:

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.20-winx64.zip

 

操作:

1、解压安zip包到目标目录(例中为D:\MySQL57)

 

2、增加my.ini配置文件

说明:我下载下来,没有找到默认的配置文件,所以自己新增

内容如下

[client]

port=3306

[mysql]

default-character-set=utf8

 

[mysqld]

# 新增server-id =2, 已有实例配置server-id=1

server-id = 2

# 首次安装,不能设置绑定主机网络ip(非localhost,非127.0.0.1),如下,否则无法登录

#bind-address=10.118.59.79

# 更改port=3307,已有实例配置 port=3306,不能配置成一样的

port=3307

 

#basedir 根目录,即bin,docs,data,lib等目录所在上级路径

basedir="D:\MySQL57/"

#datadir 数据存储路径,basedir/data

datadir="D:\MySQL57/data/"

 

# character-set-server 服务器字符集设置

character-set-server=utf8

 

#存储引擎设置,要打开那个模式,把注释去掉,同时把另一个修改为注释即可。

#如果INNODB 模式如果不能启动,删除data目录下ib开头的日志文件重新启动。

#default-storage-engine=MyISAM

default-storage-engine=INNODB

max_connections=512

query_cache_size=0

tmp_table_size=18M

thread_cache_size=8

myisam_max_sort_file_size=64G

myisam_sort_buffer_size=35M

key_buffer_size=25M

read_buffer_size=64K

read_rnd_buffer_size=256K

sort_buffer_size=256K

innodb_flush_log_at_trx_commit=1

innodb_log_buffer_size=1M

innodb_buffer_pool_size=47M

innodb_log_file_size=24M

innodb_thread_concurrency=8

 

配置参考链接:

https://dev.mysql.com/doc/refman/5.7/en/multiple-windows-services.html

 

 

3、注册mysql服务

cd /d D:\MySQL57\bin

D:\MySQL57\bin>mysqld --install mysql2 --defaults-file=D:\MySQL57\my.ini

Service successfully installed.

 

注:

1、如上,有输出待背景色内容则表示注册成功,也可以通过windows服务管理界面查看验证是否注册成功,5.5版本的mysql似乎不支持,无法注册成功

MySQL 在Windows平台上的安装及实例多开

2、安装:mysqld --install,反之,移除服务命令:mysqld --remove,如果仅有一个实例,也可以不用填写服务名(例中为mysql2)

 

4、初始化操作

D:\MySQL57\bin>mysqld --initialize --console

2017-11-03T07:26:11.147035Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server

……略

2017-11-03T07:26:13.633035Z 1 [Note] A temporary password is generated for root@localhost: Mp&t_y0GJ>CF

注:

1、据网络资料,如果以mysqld --initialize-insecure方式初始化,则设置root用户密码为空;如果以mysqld –initialize方式初始化,则设置root用户密码为一个随机密码,且登录后执行相关操作之前会强制要求更改密码才后执行后续操作

2、--console,输出相关信息,方便初始化操作失败时查看错误信息

 

5、启动mysql服务

D:\MySQL57\bin>net start mysql2

mysql2 服务正在启动 .

mysql2 服务已经启动成功。

 

注:停止mysql服务器 net stop mysql2

 

6、修改root用户密码

D:\MySQL57\bin>mysqladmin.exe -u root -p -P3307 password ddt1020;

Enter password: ************

mysqladmin: [Warning] Using a password on the command line interface can be insecure.

Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

 

注:

1、mysqladmin.exe -u 用户名 -p –P端口号 password 新密码; 新密码不能带引号,否则执行会报语法错误

2、如果不更改密码,登录后操作会报错,如下:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

 

7、登录并新建新用户

登录系统

D:\MySQL57\bin>mysql -u root -P3307 -pddt1020;

 

mysql>

 

新建用户

mysql> create user testacc identified by 'test1234';

Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on *.* to 'testacc'@'%' identified by 'test1234' with grant option;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)