免安装版mysql配置过程

一、 软件下载

5.7 32位https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-win32.zip 
5.7 64位https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip 
本次教程采用的是64位版本,诸君可根据自己电脑系统和个人喜好酌情处理。

我在安装过程中发现5.7有点问题,执行成功mysqld install之后

执行net start mysql

报错信息:服务无法启动 服务没有报告任务错误

开始是因为我手动创建了data目录,后来删掉重新操作仍然不行

后来下载了5.6版本就好了

下载地址

https://dev.mysql.com/downloads/file/?id=476517

二、 操作步骤

1.下载后得到zip压缩包 

2.解压到自己想要安装到的目录,本人解压到的是D:\Program Files(考虑到解压后文件名很长所以我从命名了) 

3.添加环境变量

我的电脑->属性->高级->环境变量 

选择PATH,在其后面添加: 你的mysql 安装文件下面的bin文件夹 

(如: D:\Program Files\mysql-5.7\bin )  

第一步就添加环境变量,这样后面执行mysql命令,就不需要切换到mysql的安装目录下了


4.新建 my.ini 文件 

5.编辑my.ini文件

[mysqld]
basedir=D:\Program Files\mysql-5.7\
datadir=D:\Program Files\mysql-5.7\data\
port=3306
skip-grant-tables

#basedirmysql
#datadirmysql
#portmysql
#skip-grant-tables 


6.启动管理员模式下的CMD,并将路径切换至mysql下的bin目录,然后输入

mysqld –install

或者msyqld install 

卸载命令

mysqld -remove

或者mysqld remove


7.输入 net start mysql 启动mysql服务 

8.再输入 mysqld --initialize-insecure --user=mysql; 初始化数据文件

不进行这步操作也行 

9.然后再次启动mysql 然后用命令 mysql –u root –p 进入mysql管理界面(初始密码为空) 

10.进入界面后更改root密码

修改密码第一种方式

update mysql.user set authentication_string=password('123456789') where user='root' and Host = 'localhost';

123456789为我的新密码
最后输入flush privileges 刷新权限 

修改密码第二种方式,我喜欢用这种

mysqladmin -u root password oldpass 123456789

但是这样修改的前提是my.ini文件中要删掉skip-grant-tables(跳过授权表)


11.修改 my.ini文件

删除最后一句skip-grant-tables

跳过授权表,这样可以通过mysqladmin命令设置密码


12.重启mysql即可正常使用

先停止服务 net stop mysql

再启动服务 net start mysql


注意关闭服务和启动服务是一回事

安装mysql和卸载mysql是另一回事

虽然是免安装版软件,仍然要用mysqld install安装,相当于在windows的注册表中注册一下

注册之后才能启动服务,这就相当于net start mysql

同样关闭服务也并不是卸载软件,启动服务就相当于启动3306端口


13.关于乱码

最近开始用mysql在javaee项目,发现jdbc插入的数据中 汉字部分为乱码。 
后来发现其中除了jsp到servlet这个过程中产生的乱码以外 还有mysql设置不当产生的乱码 
免安装版mysql配置过程
在 my.ini 中 mysqld 段 加入 character_set_server=utf8 然后重启 
免安装版mysql配置过程
这样mysql基本解决问题了。

安装msyql有五条命令要熟记

mysqld install

net start mysql

net stop mysql

mysqld remove

mysqladmin -u root -p password newpass  -- newpass不需要引号