欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Windows Server 2016 MySQL数据库安装配置详细安装教程

程序员文章站 2022-07-02 11:06:28
一、下载mysql 官网地址: https://www.mysql.com/ 下载地址: http://dev.mysql.com/downloads/mysq...

Windows Server 2016 MySQL数据库安装配置详细安装教程

一、下载mysql

官网地址:
https://www.mysql.com/
下载地址:
http://dev.mysql.com/downloads/mysql/

Windows Server 2016 MySQL数据库安装配置详细安装教程
Windows Server 2016 MySQL数据库安装配置详细安装教程
Windows Server 2016 MySQL数据库安装配置详细安装教程
二、mysql安装
1、许可协议
license agreement(许可协议)->i accept the license terms(我接受许可条款)->next(下一个)
Windows Server 2016 MySQL数据库安装配置详细安装教程
2、选择安装类型
choosing a setup type(选择安装类型)->custom(自定义)->next(下一个)
Windows Server 2016 MySQL数据库安装配置详细安装教程
3、选择产品和功能
select products and features(选择产品和功能)->mysql server(mysql服务器)和mysql workbench(mysql工作台)->next(下一个)
Windows Server 2016 MySQL数据库安装配置详细安装教程
4、安装

installation(安装)->execute(执行)

Windows Server 2016 MySQL数据库安装配置详细安装教程

installation(安装)->next(下一个)

Windows Server 2016 MySQL数据库安装配置详细安装教程

5、产品配置

product configuration(产品配置)->next(下一个)

Windows Server 2016 MySQL数据库安装配置详细安装教程

5.1、类型和网络

type and networking(类型和网络)->config type(配置类型):server machine(服务器类型)->next(下一个)

server configuration type(服务配置类型)

config type(配置类型):server machine(服务器类型)

connectivity(连接)

port number(端口号)

open firewall port for network access(打开防火墙端口网络访问)

named pipe(命名管道):pipe name(管道名字)

shared memory(共享内存):memory name(内存名字)

advanced configuration(高级配置)

show advanced options(显示高级选项)

Windows Server 2016 MySQL数据库安装配置详细安装教程

5.2、账号和角色

accounts and roles(账号和角色)->mysql root password(mysql的root用户密码)/repeate password(重复密码)->next(下一个)

Windows Server 2016 MySQL数据库安装配置详细安装教程

5.3、windows服务windows service(windows服务)->windows service name(windows服务名称)->next(下一个)

Windows Server 2016 MySQL数据库安装配置详细安装教程
5.4、插件和扩展
plugins and extensions(插件和扩展)->next(下一个)
Windows Server 2016 MySQL数据库安装配置详细安装教程
5.5、应用服务器配置
apply server configuration(应用服务器配置)->execute(执行)
Windows Server 2016 MySQL数据库安装配置详细安装教程
apply server configuration(应用服务器配置)->finish(完成)
Windows Server 2016 MySQL数据库安装配置详细安装教程
6、产品配置完成
product configuration(产品配置)->next(下一个)
Windows Server 2016 MySQL数据库安装配置详细安装教程
7、安装完成
installation complete(安装完成)->finish(完成)
Windows Server 2016 MySQL数据库安装配置详细安装教程
8、mysql工作台启动界面
Windows Server 2016 MySQL数据库安装配置详细安装教程

三、配置mysql
配置mysql环境变量
按下win+x+y键
进入win系统界面

点击"高级系统设置"—>"高级"—>"环境变量"

Windows Server 2016 MySQL数据库安装配置详细安装教程
Windows Server 2016 MySQL数据库安装配置详细安装教程
Windows Server 2016 MySQL数据库安装配置详细安装教程 

在环境变量中,设置三个属性,分别为:
mysql_home,path
(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。
a、设置mysql_home
变量名:mysql_home
变量值:c:\program files\mysql\mysql server 5.7(mysql安装路径)


Windows Server 2016 MySQL数据库安装配置详细安装教程
b、设置path
变量名:path
变量值:%mysql_home%\bin
Windows Server 2016 MySQL数据库安装配置详细安装教程 

环境变量配置完成之后测试是否成功
按下win+x+c键
打开命令提示符
输入:mysql --version
看到如下图,说明已经配置成功了。


Windows Server 2016 MySQL数据库安装配置详细安装教程 

四、优化mysql
1、编辑配置文件my.ini
文件位置:c:\programdata\mysql\mysql server 5.7
Windows Server 2016 MySQL数据库安装配置详细安装教程

配置文件内容

# *** mysql应用端设置 *** 
[client]
#mysql端口
port=3306
#mysql字符集
default-character-set=utf8
 
# *** mysql服务端设置 ***
[mysqld]
#表示是本机的序号为1,一般来讲就是master的意思
server-id = 1
#mysql端口号
port = 3306
#mysql用户
user = mysql
#全局地址
bind_address= 0.0.0.0
#mysql安装目录
basedir="c:/program files/mysql/mysql server 5.7/"
#mysql数据目录
datadir="c:/programdata/mysql/mysql server 5.7/data/"
#mysql错误日志路径
log_error="c:/programdata/mysql/mysql server 5.7/data/mysql-error.log"
#mysql进程id
pid-file="c:/programdata/mysql/mysql server 5.7/data/mysql.pid"
#mysql字符集
character-set-server=utf8
#操作系统在监听队列中所能保持的连接数
back_log = 300
#mysql连接数的上限
max_connections = 3000
#每个客户端连接最大的错误允许数量
max_connect_errors = 50
#所有线程所打开表的数量
table_open_cache = 4096
#跳过外部锁定
external-locking = false
#服务器发送和接受的最大包长度
max_allowed_packet = 32m
#独立的内存表所允许的最大容量
max_heap_table_size = 128m
#排序缓冲分配的内存大小
sort_buffer_size = 16m
#全联合发生时分配的内存大小
join_buffer_size = 16m
#线程缓存分配的大小
thread_cache_size = 16
#运行的线程的数量
#thread_concurrency = 8
#mysql的查询缓冲大小
query_cache_size = 128m
#mysql的查询缓冲最小值
query_cache_limit = 4m
#被全文检索索引的最小的字长
ft_min_word_len = 8
#当创建新表时作为默认使用的表类型
default-storage-engine = innodb
#线程使用的堆大小
thread_stack = 512k
#设定默认的事务隔离级别.可用的级别如下:
#read-uncommitted, read-committed, repeatable-read, serializable
transaction_isolation = repeatable-read
#服务器关闭交互式连接前等待活动的秒数
interactive_timeout = 1000
#服务器关闭非交互连接之前等待活动的秒数
wait_timeout = 1000
#内部(内存中)临时表的最大大小
tmp_table_size = 128m
#mysql不区分大小写
lower_case_table_names=1
#禁用符号链接
symbolic-links=0
#禁用加密插件
early-plugin-load=""
#开启查询缓存
explicit_defaults_for_timestamp=true
#开启支持模示
sql_mode='strict_trans_tables,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution'
#显示兼容
show_compatibility_56=on
#开启日志时间戳为系统时间
log_timestamps=system
#跳过安全访问
#skip-grant-tables
#跳过安装路径
secure-file-priv = null
#ssl配置
skip-ssl
#禁用dns解析
#skip-name-resolve
#不要监听网络
#skip-networking
#取消文件系统的外部锁
#skip-locking
 
# *** 慢查询参数 ***
#慢查询设定的时间
long_query_time = 6
#启动慢查询日志
slow_query_log
#慢查询日志路径
slow_query_log_file=slow.log
#将所有没有使用带索引的查询语句全部写到慢查询日志中
log_queries_not_using_indexes = 1
#开启记录管理型慢sql
log_slow_admin_statements = 1
#保存查询的日志
log_slow_slave_statements = 1
#每分钟允许记录到slow log的且未使用索引的sql语句次数
log_throttle_queries_not_using_indexes = 10
#最小检查行数限制
min_examined_row_limit = 100
 
 
# *** 中继和状态日志参数 ***
#二进制日志路径
log-bin=mysql-bin
#binlog日志格式
binlog_format = mixed 
#binlog记录sql状态所持有的缓存大小
binlog_cache_size = 4m
#binlog使用的最大缓存内存大小
max_binlog_cache_size = 512m
#binlog日志大小
max_binlog_size = 32m
#binlog日志保留天数
expire_logs_days = 7
#主服信息记录库=表/文件
#master_info_repository = table
#中继日志信息记录库
#relay_log_info_repository = table
#同步主库日志信息
#sync_binlog = 1
#启用gtid类型,否则就是普通的复制架构
#gtid_mode = on
#强制gtid的一致性
#enforce_gtid_consistency = 1
#slave更新是否记入日志
#log_slave_updates
#中继日志信息名称
#relay_log = relay.log
#自动修复日志
#relay_log_recovery = 1
#默认开启简化的gtid 恢复
#binlog_gtid_simple_recovery = 1
#自动跳过错误信息
slave_skip_errors = ddl_exist_errors
 
 
# *** innodb 相关选项 ***
#innodb的数据页大小
innodb_page_size = 16k
#缓存innodb表的索引,数据,插入数据时的缓冲
innodb_buffer_pool_size = 256m
#innodb缓存池被划分到一个区域
innodb_buffer_pool_instances = 1
#启动mysql服务时,mysql将本地热数据加载到innodb缓冲池中
innodb_buffer_pool_load_at_startup = 1
#停止mysql服务时,innodb将innodb缓冲池中的热数据保存到本地硬盘
innodb_buffer_pool_dump_at_shutdown = 1
#事务等待获取资源等待的最长时间
innodb_lock_wait_timeout = 5
#使用单独的清除线程收回数据
innodb_purge_threads = 1
#单列索引限制
innodb_large_prefix = 1
#能否将死锁信息保存到日志中
innodb_print_all_deadlocks = 1
#innodb排序缓冲分配的内存大小
innodb_sort_buffer_size = 128k
#innodb 将数据保存在一个或者多个数据文件中成为表空间.
innodb_data_file_path = ibdata1:10m:autoextend
#在innodb 核心内的允许线程数量.
innodb_thread_concurrency = 16
#日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上.
innodb_flush_log_at_trx_commit = 1
#用来缓冲日志数据的缓冲区的大小.
innodb_log_buffer_size = 16m
#在日志组中每个日志文件的大小.
innodb_log_file_size = 512m
#在日志组中的文件总数.
innodb_log_files_in_group = 3
#在innodb 缓冲池中最大允许的脏页面的比例.
innodb_max_dirty_pages_pct = 90
#事物回滚等待的时间
innodb_lock_wait_timeout = 120
#innodb是否需要将所有表的数据和索引存放在共享表空间里(innodb_file_per_table = off) 
#或者为每张表的数据单独放在一个.ibd文件(innodb_file_per_table = on)
innodb_file_per_table = on
#转储每个bp instance lru上最热的page的百分比
innodb_buffer_pool_dump_pct = 40
#多个page cleaner线程提高脏页刷新效率
innodb_page_cleaners = 4
#可以截断undo日志位于撤消表空间
innodb_undo_log_truncate = 1
#控制最大undo tablespace文件的大小
innodb_max_undo_log_size = 2g
#用于控制purge回滚段的频度
innodb_purge_rseg_truncate_frequency = 128
#不使用innodb 
#skip-innodb
 
 
# *** myisam 相关选项 ***
#关键词缓冲的大小
key_buffer_size = 128m
#myisam表全表扫描的缓冲大小
read_buffer_size = 8m
#随机读取数据缓冲区使用内存
read_rnd_buffer_size = 16m
#myisam 使用特殊的类似树的cache来使得突发插入
bulk_insert_buffer_size = 256m
#到一个空表中引起重建索引时被分配.
myisam_sort_buffer_size = 256m
#mysql重建索引时所允许的最大临时文件的大小
myisam_max_sort_file_size = 10g
#如果一个表拥有超过一个索引, myisam 可以通过并行排序使用超过一个线程去修复他们.
myisam_repair_threads = 1
#自动检查和修复没有适当关闭的 myisam 表.
#myisam_recover
#默认关闭federated
skip-federated
 
[mysqldump]
#不要在将内存中的整个结果写入磁盘之前缓存
quick
#服务器发送和接受的最大包长度
max_allowed_packet = 32m
 
[mysql]
#自动补全
no-auto-rehash
#mysql字符集
default-character-set=utf8
 
[myisamchk]
#关键词缓冲的大小
key_buffer = 16m
#排序缓冲分配的内存大小
sort_buffer_size = 16m
#写入缓存的内存大小
read_buffer = 8m
#读取缓存的内存大小
write_buffer = 8m
 
[mysqld_safe]
#增加每个进程的可打开文件数量.
open-files-limit = 8192

2、重启mysql输入:
net stop mysql
net start mysql

 Windows Server 2016 MySQL数据库安装配置详细安装教程 

五、更换mysql数据目录
1、创建mysql数据目录
在e盘创建mysql数据目录
数据目录位置:e:\mysql\data


Windows Server 2016 MySQL数据库安装配置详细安装教程 

2、改写配置文件(将my-default.ini重命名为my.ini)
文件位置:c:\program files\mysql\mysql server 5.7
Windows Server 2016 MySQL数据库安装配置详细安装教程

# *** mysql应用端设置 *** 
[client]
#mysql端口
port=3306
#mysql字符集
default-character-set=utf8
 
# *** mysql服务端设置 ***
[mysqld]
#表示是本机的序号为1,一般来讲就是master的意思
server-id = 1
#mysql端口号
port = 3306
#mysql用户
user = mysql
#全局地址
bind_address= 0.0.0.0
#mysql安装目录
basedir="c:/program files/mysql/mysql server 5.7/"
#mysql数据目录
datadir="e:/mysql/data/"
#mysql错误日志路径
log_error="e:/mysql/data/mysql-error.log"
#mysql进程id
pid-file="e:/mysql/data/mysql.pid"
#mysql字符集
character-set-server=utf8
#操作系统在监听队列中所能保持的连接数
back_log = 300
#mysql连接数的上限
max_connections = 3000
#每个客户端连接最大的错误允许数量
max_connect_errors = 50
#所有线程所打开表的数量
table_open_cache = 4096
#跳过外部锁定
external-locking = false
#服务器发送和接受的最大包长度
max_allowed_packet = 32m
#独立的内存表所允许的最大容量
max_heap_table_size = 128m
#排序缓冲分配的内存大小
sort_buffer_size = 16m
#全联合发生时分配的内存大小
join_buffer_size = 16m
#线程缓存分配的大小
thread_cache_size = 16
#运行的线程的数量
#thread_concurrency = 8
#mysql的查询缓冲大小
query_cache_size = 128m
#mysql的查询缓冲最小值
query_cache_limit = 4m
#被全文检索索引的最小的字长
ft_min_word_len = 8
#当创建新表时作为默认使用的表类型
default-storage-engine = innodb
#线程使用的堆大小
thread_stack = 512k
#设定默认的事务隔离级别.可用的级别如下:
#read-uncommitted, read-committed, repeatable-read, serializable
transaction_isolation = repeatable-read
#服务器关闭交互式连接前等待活动的秒数
interactive_timeout = 1000
#服务器关闭非交互连接之前等待活动的秒数
wait_timeout = 1000
#内部(内存中)临时表的最大大小
tmp_table_size = 128m
#mysql不区分大小写
lower_case_table_names=1
#禁用符号链接
symbolic-links=0
#禁用加密插件
early-plugin-load=""
#开启查询缓存
explicit_defaults_for_timestamp=true
#开启支持模示
sql_mode='strict_trans_tables,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution'
#显示兼容
show_compatibility_56=on
#开启日志时间戳为系统时间
log_timestamps=system
#跳过安全访问
#skip-grant-tables
#跳过安装路径
secure-file-priv = null
#ssl配置
skip-ssl
#禁用dns解析
#skip-name-resolve
#不要监听网络
#skip-networking
#取消文件系统的外部锁
#skip-locking
 
# *** 慢查询参数 ***
#慢查询设定的时间
long_query_time = 6
#启动慢查询日志
slow_query_log
#慢查询日志路径
slow_query_log_file=slow.log
#将所有没有使用带索引的查询语句全部写到慢查询日志中
log_queries_not_using_indexes = 1
#开启记录管理型慢sql
log_slow_admin_statements = 1
#保存查询的日志
log_slow_slave_statements = 1
#每分钟允许记录到slow log的且未使用索引的sql语句次数
log_throttle_queries_not_using_indexes = 10
#最小检查行数限制
min_examined_row_limit = 100
 
 
# *** 中继和状态日志参数 ***
#二进制日志路径
log-bin=mysql-bin
#binlog日志格式
binlog_format = mixed 
#binlog记录sql状态所持有的缓存大小
binlog_cache_size = 4m
#binlog使用的最大缓存内存大小
max_binlog_cache_size = 512m
#binlog日志大小
max_binlog_size = 32m
#binlog日志保留天数
expire_logs_days = 7
#主服信息记录库=表/文件
#master_info_repository = table
#中继日志信息记录库
#relay_log_info_repository = table
#同步主库日志信息
#sync_binlog = 1
#启用gtid类型,否则就是普通的复制架构
#gtid_mode = on
#强制gtid的一致性
#enforce_gtid_consistency = 1
#slave更新是否记入日志
#log_slave_updates
#中继日志信息名称
#relay_log = relay.log
#自动修复日志
#relay_log_recovery = 1
#默认开启简化的gtid 恢复
#binlog_gtid_simple_recovery = 1
#自动跳过错误信息
slave_skip_errors = ddl_exist_errors
 
 
# *** innodb 相关选项 ***
#innodb的数据页大小
innodb_page_size = 16k
#缓存innodb表的索引,数据,插入数据时的缓冲
innodb_buffer_pool_size = 256m
#innodb缓存池被划分到一个区域
innodb_buffer_pool_instances = 1
#启动mysql服务时,mysql将本地热数据加载到innodb缓冲池中
innodb_buffer_pool_load_at_startup = 1
#停止mysql服务时,innodb将innodb缓冲池中的热数据保存到本地硬盘
innodb_buffer_pool_dump_at_shutdown = 1
#事务等待获取资源等待的最长时间
innodb_lock_wait_timeout = 5
#使用单独的清除线程收回数据
innodb_purge_threads = 1
#单列索引限制
innodb_large_prefix = 1
#能否将死锁信息保存到日志中
innodb_print_all_deadlocks = 1
#innodb排序缓冲分配的内存大小
innodb_sort_buffer_size = 128k
#innodb 将数据保存在一个或者多个数据文件中成为表空间.
innodb_data_file_path = ibdata1:10m:autoextend
#在innodb 核心内的允许线程数量.
innodb_thread_concurrency = 16
#日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上.
innodb_flush_log_at_trx_commit = 1
#用来缓冲日志数据的缓冲区的大小.
innodb_log_buffer_size = 16m
#在日志组中每个日志文件的大小.
innodb_log_file_size = 512m
#在日志组中的文件总数.
innodb_log_files_in_group = 3
#在innodb 缓冲池中最大允许的脏页面的比例.
innodb_max_dirty_pages_pct = 90
#事物回滚等待的时间
innodb_lock_wait_timeout = 120
#innodb是否需要将所有表的数据和索引存放在共享表空间里(innodb_file_per_table = off) 
#或者为每张表的数据单独放在一个.ibd文件(innodb_file_per_table = on)
innodb_file_per_table = on
#转储每个bp instance lru上最热的page的百分比
innodb_buffer_pool_dump_pct = 40
#多个page cleaner线程提高脏页刷新效率
innodb_page_cleaners = 4
#可以截断undo日志位于撤消表空间
innodb_undo_log_truncate = 1
#控制最大undo tablespace文件的大小
innodb_max_undo_log_size = 2g
#用于控制purge回滚段的频度
innodb_purge_rseg_truncate_frequency = 128
#不使用innodb 
#skip-innodb
 
 
# *** myisam 相关选项 ***
#关键词缓冲的大小
key_buffer_size = 128m
#myisam表全表扫描的缓冲大小
read_buffer_size = 8m
#随机读取数据缓冲区使用内存
read_rnd_buffer_size = 16m
#myisam 使用特殊的类似树的cache来使得突发插入
bulk_insert_buffer_size = 256m
#到一个空表中引起重建索引时被分配.
myisam_sort_buffer_size = 256m
#mysql重建索引时所允许的最大临时文件的大小
myisam_max_sort_file_size = 10g
#如果一个表拥有超过一个索引, myisam 可以通过并行排序使用超过一个线程去修复他们.
myisam_repair_threads = 1
#自动检查和修复没有适当关闭的 myisam 表.
#myisam_recover
#默认关闭federated
skip-federated
 
[mysqldump]
#不要在将内存中的整个结果写入磁盘之前缓存
quick
#服务器发送和接受的最大包长度
max_allowed_packet = 32m
 
[mysql]
#自动补全
no-auto-rehash
#mysql字符集
default-character-set=utf8
 
[myisamchk]
#关键词缓冲的大小
key_buffer = 16m
#排序缓冲分配的内存大小
sort_buffer_size = 16m
#写入缓存的内存大小
read_buffer = 8m
#读取缓存的内存大小
write_buffer = 8m
 
[mysqld_safe]
#增加每个进程的可打开文件数量.
open-files-limit = 8192

3、停止mysql
输入:net stop mysql

Windows Server 2016 MySQL数据库安装配置详细安装教程 

4、初始化mysql数据
输入:
mysqld --initialize --user=mysql --character-set-server=utf8 --collation-server=utf8_general_ci --initialize-insecure
Windows Server 2016 MySQL数据库安装配置详细安装教程
Windows Server 2016 MySQL数据库安装配置详细安装教程 

六、mysql用户设置
1、创建danxiaonuo用户
mysql> create user 'danxiaonuo'@'%' identified by '123456';
更新缓存
mysql> flush privileges;


Windows Server 2016 MySQL数据库安装配置详细安装教程 

2、全部权限授权danxiaonuo用户
mysql> grant all privileges on *.* to 'danxiaonuo'@'%' with grant option;
更新缓存
mysql> flush privileges;
Windows Server 2016 MySQL数据库安装配置详细安装教程 

3、更改danxiaonuo用户密码
mysql>alter user 'danxiaonuo'@'%' identified by '654321';
更新缓存
mysql> flush privileges;
Windows Server 2016 MySQL数据库安装配置详细安装教程 

4、删除danxiaonuo用户
mysql> drop user 'danxiaonuo'@'%';
更新缓存
mysql> flush privileges;
Windows Server 2016 MySQL数据库安装配置详细安装教程 

5、查看所有用户
mysql>select host,user from mysql.user;
Windows Server 2016 MySQL数据库安装配置详细安装教程 

七、安装mysql系统服务和卸载mysql系统服务
1、安装mysql系统服务
1>自动安装
输入:
mysqld -install
2>增加参数安装
mysqld -install mysql --defaults-file="c:\program files\mysql\mysql server 5.7\my.ini"
Windows Server 2016 MySQL数据库安装配置详细安装教程
2、卸载mysql系统服务
先停止mysql系统服务
输入:net stop mysql
再卸载mysql系统服务
输入:mysqld -remove
Windows Server 2016 MySQL数据库安装配置详细安装教程