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

本人解压到的是D:\Program Files\mysql(这里解压后文件夹重命名为了mysql)

配置环境变量

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

方法一

新建系统环境变量MYSQL_HOME,值为D:\Program Files\mysql,在环境变量path中添加变量值:%MYSQL_HOME%\bin;,可以写bat脚本完成。

方法二

选择PATH,在其后面添加: 你的mysql 安装文件下面的bin文件夹
(如: D:\Program Files\mysql\bin )

编辑安装配置文件

my.ini是mysql的安装配置文件,在安装包解压后的根目录下(如: D:\Program Files\mysql),如果解压后根目录没有则自己新建一个进行编辑,如下配置项供参考,可直接复制修改后使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# 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.
[client] 
#password = your_password
port = 3306
#socket  = D:\Program Files\mysql\data\mysql\mysql.sock
default-character-set=utf8
host=localhost
user=root
password='root'

[mysqld]
port = 3306
basedir=D:\Program Files
# 设置mysql的安装目录
datadir=D:\Program Files\data
# 设置mysql数据库的数据的存放目录,必须是data,或者是//xxx/data
default-storage-engine=INNODB
# 创建新表时将使用的默认存储引擎
#socket = D:\Program Files\mysql\data\mysql\mysql.sock
sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# SQL模式为strict模式
#default-character-set=utf8
# 设置mysql服务器的字符集  
character-set-server=utf8
# 服务端使用的字符集默认为8比特编码的latin1字符集
max_connections=100
# mysql服务器支持的最大并发连接数(用户数)。但总会预留其中的一个连接给管理员使用超级权限登录,即使连接数目达到最大限制。如果设置得过小而用户比较多,会经常出现“Too many connections”错误。
query_cache_size=0
# 查询缓存大小,用于缓存SELECT查询结果。如果有许多返回相同查询结果的SELECT查询,并且很少改变表,可以设置query_cache_size大于0,可以极大改善查询效率。而如果表数据频繁变化,就不要使用这个,会适得其反
#table_cache=256 
# 这个参数在5.1.3之后的版本中叫做table_open_cache,用于设置table高速缓存的数量。由于每个客户端连接都会至少访问一个表,因此此参数的值与       max_connections有关。当某一连接访问一个表时,MySQL会检查当前已缓存表的数量。如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询。在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存。
tmp_table_size=34M
# 内存中的每个临时表允许的最大大小。如果临时表大小超过该值,临时表将自动转为基于磁盘的表(Disk Based Table)。
thread_cache_size=8
# 缓存的最大线程数。当客户端连接断开时,如果客户端总连接数小于该值,则处理客户端任务的线程放回缓存。在高并发情况下,如果该值设置得太小,就会有很多线程频繁创建,线程创建的开销会变大,查询效率也会下降。一般来说如果在应用端有良好的多线程处理,这个参数对性能不会有太大的提高。
#------------------------------MyISAM相关参数    begin------------------------------------------------
max_allowed_packet=500M
myisam_max_sort_file_size=100G
# mysql重建索引时允许使用的临时文件最大大小
myisam_sort_buffer_size=68M
key_buffer_size=54M
# Key Buffer大小,用于缓存MyISAM表的索引块。决定数据库索引处理的速度(尤其是索引读)
read_buffer_size=64K
# 用于对MyISAM表全表扫描时使用的缓冲区大小。针对每个线程进行分配(前提是进行了全表扫描)。进行排序查询时,MySql会首先扫描一遍该缓冲,以避免磁盘搜索,提高查询速度,如果需要排序大量数据,可适当调高该值。但MySql会为每个客户连接发放该缓冲空间,所以应尽量适当设置该值,以避免内存开销过大。
read_rnd_buffer_size=256K
sort_buffer_size=256K
# connection级参数(为每个线程配置),500个线程将消耗500*256K的sort_buffer_size。
#------------------------- MyISAM相关参数  end ---------------------------
#------------------------- InnoDB相关参数  begin -------------------------
innodb_additional_mem_pool_size=3M
# InnoDB用于存储元数据信息的内存池大小,一般不需修改
innodb_flush_log_at_trx_commit =1
# 事务相关参数,如果值为1,则InnoDB在每次commit都会将事务日志写入磁盘(磁盘IO消耗较大),这样保证了完全的ACID特性。而如果设置为0,则表示事务日志写入内存log和内存log写入磁盘的频率都为1次/秒。如果设为2则表示事务日志在每次commit都写入内存log,但内存log写入磁盘的频率为1次/秒。
innodb_log_buffer_size=2M
# InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入磁盘(flush)。由于一般至少都1秒钟会写一次磁盘,所以没必要设置过大,即使是长事务。
innodb_buffer_pool_size=105M
# InnoDB使用缓冲池来缓存索引和行数据。该值设置的越大,则磁盘IO越少。一般将该值设为物理内存的80%。
innodb_log_file_size=53M
# 每一个InnoDB事务日志的大小。一般设为innodb_buffer_pool_size的25%到100%
innodb_thread_concurrency=9
# InnoDB内核最大并发线程数
#------------------------- InnoDB相关参数  end -------------------------
skip-grant-tables
#表示忽略密码

安装启动服务

安装注册

“管理员身份”,点击”cmd”右键,选择“管理员方式运行”,执行控制台cmd 执行命令: mysqld install MySQLService –defaults-file=”D:\Program Files\mysql\my.ini”(注意目录)

这里将mysql根据my.ini配置文件,安装注册为名称是MySQLService 的 服务,在本地服务列表中可以找到。

启动服务

1
2
# 启动mysql
net start MySQLService

登陆服务

忽略密码

同样黑窗口,用命令 mysql –u root –p 进入mysql管理界面,待输入密码时直接回车即可

因为上述mysql.ini配置中最后第二行skip-grant-tables即忽略密码设置,可不输入密码直接回车登录数据库。更改密码后,注释掉或删掉后重启服务即可。

更改密码

1
2
3
4
5
6
mysql>mysql -uroot -p
mysql>show databases;
mysql>use mysql;
mysql>UPDATE user SET password=PASSWORD("root") WHERE user='root';
mysql>FLUSH PRIVILEGES;(刷新权限)
mysql>QUIT(退出后重启服务)

重启服务

1
2
3
4
# 停止服务
net stop MySQLService
# 启动服务
net start MySQLService

扩展

在服务列表中停止服务,“管理员身份”,点击”cmd”右键,选择“管理员方式运行”,执行控制台cmd。

1
2
3
4
5
6
7
8
9
10
11
12
# 删除服务
sc delete MySQLService(服务名称)
# 查询服务
sc query MySQLService(服务名称)
# 导入
mysql -uroot -p;
create database 数据库名;
mysql -uroot -p 数据库名<C:\文件名.sql;
(mysql --defaults-extra-file="D:\Program Files\mysql\my.ini" 数据库名<C:\文件名.sql)
# 导出
mysqldump -uroot -p 数据库名>C:\文件名.sql;
(mysqldump --defaults-extra-file="D:\Program Files\mysql\my.ini" 数据库名>C:\文件名.sql)
0%