一、前提条件:
下载 MySQL安装包(zip包)
下载地址 https://downloads.mysql.com/archives/community/
二、安装
修改根目录下的my-default.ini文件,在[mysqld]下配置:
数据库根目录 basedir = D:/mysql-5.7.16-3306
数据存放目录 datadir = D:/mysql-5.7.16-3306/data
端口 port = 3306
需要添加字符编码的设置(放到port下面就行):
character-set-server=utf8
OK,保存,将my-default.ini 改为my.ini。
开始执行安装和添加服务的步骤:
D:\mysql-5.7.16-3306\bin>mysqld install mysql3306 –defaults-file=”D:/mysql-5.7.16-3306\my.ini”
注意: 一定要切换到bin目录下 不然有可能不能执行 如果后期不能执行 可以使用 sc delete mysql3306 删除
成功安装后会提示:
Service successfully installed.
安装成功后服务的名称就是mysql3306
三、初始化数据库
mysql服务安装成功后,就需要初始化数据库了,否则是无法启动服务的。
在bin目录下执行如下命令:
D:\mysql-5.7.16-3306\bin>
mysqld.exe –defaults-file=”D:\mysql-5.7.16-3306\my.ini” –initialize-insecure –explicit_defaults_for_timestamp
default-file 即配置文件路径,必须进行指定。
–initialize 执行数据库初始化。会生成一个随机root的密码
–initialize-insecure 执行数据库初始化,会生成一个空密码(最好使用这个 )
此处最好使用
–explicit_defaults_for_timestamp说明Timestamp类型的字段,必须进行指定,否则就是NULL。(这个是为了避免麻烦,因为5.6以后的mysql的Timestamp类型字段进行了一些调整)
初始化成功后,没有任何提示。
启动3306数据库:
D:\mysql-5.7.16-3306\bin>net start mysql3306
提示信息:
MySQL 服务正在启动 …
MySQL 服务已经启动成功。
表示启动成功
停止3306数据库:
D:\mysql-5.7.16-3306\bin>net stop mysql3306
五、修改密码
接下来就需要登录修改密码了,登录的临时密码在data目录的的日志文件里是”.err”文件,打开搜索”password”关键字。
2016-11-07T02:39:33.180905Z 1 [Note] A temporary password is generated for root@localhost: #JheTLHho2!L
1
临时密码就是:#JheTLHho2!L
登录mysql:
D:\mysql-5.7.16-3306\bin>mysql -u root -p
Enter password:#JheTLHho2!L
登录成功后,修改root的密码了:
mysql> set password = password(‘root’);
修改成功后会有如下提示:
Query OK, 0 rows affected, 1 warning (0.15 sec)
修改成功就可以退出用新密码登录了。
mysql> exit
Bye
可以通过客户端进行连接测试了!
笔者在第五步中直接使用 –initialize-insecure 参数 生成了一个空密码 ,然后笔者直接用客户端进行连接 ,然后输入语句进行更改密码,允许远程连接
SET SQL_SAFE_UPDATES = 0;
use mysql;
update user set host = ‘%’ where user = ‘root’;
六、部署另一实例
复制一份D:\mysql-5.7.16-3306到D:\mysql-5.7.16-3307。
按照上面的步骤,修改端口,修改data的路径,修改根路径:
数据库根目录 basedir = D:/mysql-5.7.16-3307
数据存放目录 datadir = D:/mysql-5.7.16-3307/data
端口 port = 3307
服务名: mysql3307
按照1~5步执行一遍就可以完成新的mysql实例的创建了!!