从今天开始MySQL相关方面的东西

首先是关于MySQL的安装

系统为windows 10

数据库为MySQL 5.7.25

1. 目录规划

目录名称 参数名称 路径地址
安装目录 basedir E:\mysql
数据文件目录 datadir E:\mysql\data
临时文件目录 tmpdir E:\mysql\data
socket文件目录 socket E:\mysql\data\mysql.sock
bin日志文件目录 log_bin E:\mysql\log\mysql-bin.log
relay日志文件目录 relay_log E:\mysql\log\mysql-relay.log

2. MySQL 5.7 下载

目前MySQL 社区的GA 提供5 和8 的下载

由于目前大多数系统用的还是5的版本

这里统一使用5的版本

MySQL Community Server 5.7.25

1.png
2.png
3.png

3. 新建目录

E:\mysql目录下新建 data 及log目录

将下载完成后将文件拷贝至E:\mysql目录

注意不要将MySQL的安装文件的上层目录放入

最终目录结构如图

4.png

4. 建立配置文件

windows 版本的MySQL 默认首先读取C盘跟目录下的my.ini文件,然后是my.cnf,最后会在%WINDIR%的目录

当然我们可以在启动时手动指定

我们这里建立c:\my.ini

[mysql]


[mysqld]
#-----------------MySQL Basic Setting-----------------#


server-id = 1723161113
port = 3306
user = mysql
pid-file = mysql.pid
character_set_server = utf8mb4
default_storage_engine = InnoDB
skip_name_resolve = 1
lower_case_table_names = 1
explicit_defaults_for_timestamp = 1
open_files_limit = 65535
max_connections = 1000
max_connect_errors = 100000
basedir = E:\\mysql
datadir = E:\\mysql\\data
tmpdir = E:\\mysql\\data
socket =E:\\mysql\\data\\mysql.sock
query_cache_type = 0
query_cache_size = 0
join_buffer_size = 64M
tmp_table_size = 64M
max_allowed_packet = 32M
read_buffer_size = 16M
read_rnd_buffer_size = 32M
sort_buffer_size = 32M
log_error_verbosity=2
log_timestamps=SYSTEM


#-----------------MySQL Log Setting-----------------#
log_error = mysql-error.log
log_bin = E:\\mysql\\log\\mysql-bin.log
slow_query_log_file = mysql-slow.log
relay_log =E:\\mysql\\log\\mysql-relay.log
log_slave_updates = 1
sync_binlog = 1
relay_log_recovery = 1
binlog_format = row
expire_logs_days = 14
slow_query_log = 1
long_query_time = 2
log_queries_not_using_indexes = 1
log_throttle_queries_not_using_indexes = 10
log_slow_admin_statements = 1
log_slow_slave_statements = 1
min_examined_row_limit = 1000


#-----------------MySQL Replication Setting-----------------#
slave_skip_errors = ddl_exist_errors
master_info_repository = TABLE
relay_log_info_repository = TABLE
gtid_mode = on
enforce_gtid_consistency = 1
binlog_rows_query_log_events = 1


#-----------------MySQL InnoDB Setting-----------------#
innodb_page_size = 16384
innodb_buffer_pool_size = 1024M
innodb_data_file_path = ibdata1:1G:autoextend
innodb_buffer_pool_instances = 8
innodb_file_per_table = 1
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 5
innodb_io_capacity = 800
innodb_io_capacity_max = 2000
#innodb_flush_method = O_DIRECT
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
innodb_undo_logs = 128
innodb_undo_tablespaces = 3
innodb_flush_neighbors = 1
innodb_log_file_size = 2G
innodb_log_buffer_size = 16777216
innodb_print_all_deadlocks = 1
innodb_strict_mode = 1
innodb_sort_buffer_size = 67108864
#skip-grant-tables=1


#-----------------MySQL semi Replication Setting-----------------#
#plugin_dir = /usr/local/mysql/lib/plugin
#plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
#loose_rpl_semi_sync_master_enabled = 1
#loose_rpl_semi_sync_slave_enabled = 1
#loose_rpl_semi_sync_master_timeout = 5000

注意 这里我是将linux平台的参数拷过来的,可保证正常初始化

需要将innodb_flush_method 参数注释掉,因为不支持O_DIRECT方法。

路径需要用两个反斜杠

5. 初始化数据库

接下来我们初始化MySQL

使用管理员权限打开powershell (cmd亦可)

e:\mysql\bin\mysqld --initialize --console

初始化完成后会自动生成密码,请记住他

初始化完成后data 及 log目录会有相应的文件

6.png

6. 添加MySQL至服务

e:\mysql\bin\mysqld --install

这时我们就可以使用windows 服务启停数据库了

将MySQL bin目录添加至PATH环境变量

修改后记得重新打开命令窗口

7.png

7. 连接数据库

使用如下命令连接

mysql -uroot -ppassword

9.png

如报如下错误请将配置文件中的skip-grant-tables 取消注释后重新启动

MySQL Host '::1' or '127.0.0.1' is not allowed to connect to this MySQL server

update user表即可

SQL> UPDATE mysql.user SET host='%' WHERE user='root';

SQL> flush privileges;

8. 启停数据库

我们既可以使用windows服务启停数据库

8.png

也可以使用如下命令

关闭数据库

mysqladmin -uroot -p shutdown

需要管理员权限

net stop mysql

开启数据库

需要管理员权限

net start mysql

好了 MySQL的 windows 安装就先讲到这里

后续内容尽情期待