[MYSQL]一台windows电脑安装多个mysql-不同版本
安装mysql需要注意以下几点:
-
端口冲突问题;
-
在InnoDB尝试初始化其表空间或日志文件时出现问题,请删除由InnoDB:所有 ibdata文件和所有ib_logfile文件创建的所有 文件。如果您已经创建了一些 InnoDB表,还请从MySQL数据库目录中删除.frm这些表的相应文件,.ibd如果您正在使用多个表空间,则还删除 所有 文件。然后InnoDB再次尝试 创建数据库(官网有说明);
-
多个mysql在注册表中,\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL* 路径下面的 ImagePath 属性中 mysqld 所属路径和 my.ini 所属路径。
以上三个问题在安装过程中需要注意。
安装mysql步骤如下:
-
下载 mysql 免安装包,官网地址;
-
将下载的mysql安装包解压,在5.7以上版本,解压之后的根目录文件中已经没有 my.ini 文件了;可以从网上或其他地方拷贝一份;或者自己创建一个;
提供一个纯净版 my.ini 文件内容:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
在使用上面纯净版的时候,记得多个MYSQL记得设置不同的 port 值,例如:3306、3316等。
若在my.ini中设置了 innodb_data_home_dir 目录,记得自己创建,不然后面启动服务的时候,
初始化程序不会帮你自动创建,否则会报错。
- 执行初始化命令(cmd进入 mysql根目录\bin ):
mysqld --initialize-insecure --console #后面的 console 是将初始化内容打印在控制台
- 删除 InnerDB 生成的 文件;一般在 mysql根目录\data中会生成 ib_logfile0、ib_logfile1、ibdata1文件,删除就行了;如果你在my.ini中设置了 innodb_data_home_dir 目录,ibdata1文件是生成再你设置的 innodb_data_home_dir 目录中。
- 执行注册服务语句(cmd进入 mysql根目录\bin ):
mysqld install mysql* --defaults-file="mysql根目录\my.ini" # 注册服务命令
mysqld -remove mysql* # 卸载服务命令
会提示:Service successfully installed.
- 进行注册表地址更改:
打开注册表,进入 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL* ;找到 ImagePath 属性;右键修改;查看数值数据中,mysql目录是否是你的安装目录,第一个mysql目录没问题;后续的安装都会只想第一个安装的mysql目录,所以修改为:mysql根目录\bin\mysqld --defaults-file=mysql根目录\my.ini MySQL* ; - 进行服务启动:
net start mysql* #服务启动命令
net stop mysql* #服务停止命令
若需要初始化密码,可以在登录的时候输入上面控制台中的初始化命令;
或者在 my.ini 设置 skip-grant-tables (记得在执行初始化命令之前设置该属性),这样初始密码为空。