安装
1. 下载(zip方式)
https://dev.mysql.com/downloads/mysql/5.5.html#downloads
wget 下载
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.32-winx64.zip
2. 解压后配置环境变量
添加mysql安装后的bin文件目录到环境变量Path中
3. 编辑配置文件
在mysql文件夹下创建my.ini配置文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir = D:\\mysql\\mysql-8.0.17-winx64
# 设置mysql数据库的数据的存放目录
datadir = D:\\mysql\\mysql-8.0.17-winx64\\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 创建模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
4. 安装并初始化数据库
以管理员身份打开cmd命令提示窗口,进入mysql文件夹下的bin目录,
安装数据库(重置数据库不必重新安装)
运行指令:mysqld --install
是用于将 MySQL 安装为 Windows 系统服务的命令。使用该命令可以将 MySQL 安装为系统服务,并设置自动启动、手动启动或禁用等选项。在安装完 MySQL 后,可以通过 Windows 的“服务”管理器来启动、停止和配置 MySQL 服务。
初始化数据库(重置数据库也可以用这个指令)
运行指令:mysqld --initialize
是用于初始化 MySQL 数据库的命令,它会创建系统表和数据目录,并在数据目录中生成初始密码。一般在第一次安装 MySQL 时使用该命令,它会为 MySQL 创建一个新的 root 账号,并生成一个随机密码,可以通过查询错误日志文件找到该密码。
5. 获取初始化数据库的root密码
初始化数据库后可以在data文件夹下找到“用户名.err”文件打开,搜索password找到这句话
“ A temporary password is generated for root@localhost: libFGw-hg1hu”
6. 启动mysql
以管理员身份打开cmd命令提示窗口,运行指令:net start mysql
这将启动mysql服务,如果找不到服务,有可能mysql安装失败了,可以 重复试试,如果还不行就只能手动添加注册表了。
使用root账户登录:mysql -uroot -p密码
7. 修改mysql的root账号密码
登录进入mysql后,运行如下指令
alter user 'root'@'localhost' identified with mysql_native_password by ' 新密码 ';
配置文件
[client]
#password = your_password
# 客户端配置段,设置数据库客户端连接参数
port = 3306
# MySQL服务器监听的端口号
socket = /tmp/mysql.sock
# MySQL服务器使用的Unix套接字文件路径
[mysqld]
lower_case_table_names = 1
# 表名大小写敏感性设置,1表示不区分大小写
binlog_cache_size = 32K
# 二进制日志缓存大小
thread_stack = 256K
# 线程栈大小
join_buffer_size = 256K
# JOIN操作使用的缓冲区大小
query_cache_type = 0
# 查询缓存类型,0表示禁用查询缓存
max_heap_table_size = 32M
# 内存临时表的最大大小
port = 3306
# MySQL服务器监听的端口号
socket = /tmp/mysql.sock
# MySQL服务器使用的Unix套接字文件路径
datadir = /www/server/data
# 数据库文件存储目录
default_storage_engine = InnoDB
# 默认存储引擎为InnoDB
performance_schema_max_table_instances = 400
# 性能模式下的最大表实例数
table_definition_cache = 400
# 表定义缓存大小
skip-external-locking
# 跳过外部锁定,默认值为注释掉
key_buffer_size = 32M
# MyISAM存储引擎的索引缓冲区大小
max_allowed_packet = 100G
# 最大允许的数据包大小
table_open_cache = 128
# 缓存打开表的数量
sort_buffer_size = 768K
# 排序操作使用的缓冲区大小
net_buffer_length = 4K
# 网络缓冲区长度
read_buffer_size = 768K
# 读取操作使用的缓冲区大小
read_rnd_buffer_size = 256K
# 随机读取操作使用的缓冲区大小
myisam_sort_buffer_size = 8M
# MyISAM索引排序缓冲区大小
thread_cache_size = 16
# 线程缓存大小
query_cache_size = 0M
# 查询缓存大小,0表示禁用查询缓存
tmp_table_size = 32M
# 内存临时表的大小
sql-mode = NO_ENGINE_SUBSTITUTION, STRICT_TRANS_TABLES
# SQL模式设置,禁用引擎替代和严格事务表模式
explicit_defaults_for_timestamp = true
# 显示默认值为TIMESTAMP类型的列
max_connections = 500
# 最大并发连接数
max_connect_errors = 100
# 允许的最大连接错误数
open_files_limit = 65535
# 打开文件的最大数量限制
log-bin = mysql-bin
# 启用二进制日志,指定二进制日志文件名称前缀
binlog_format = mixed
# 二进制日志格式设置为混合格式
server-id = 1
# MySQL服务器的唯一ID
expire_logs_days = 10
# 自动删除日志文件的天数
slow_query_log = 1
# 启用慢查询日志
slow-query-log-file = /www/server/data/mysql-slow.log
# 慢查询日志文件路径
long_query_time = 3
# 查询执行时间超过该值的语句将被记录到慢查询日志
innodb_data_home_dir = /www/server/data
# InnoDB数据文件目录
innodb_data_file_path = ibdata1:10M:autoextend
# InnoDB数据文件路径、大小和自动扩展设置
innodb_large_prefix = 1
# 支持大前缀索引
innodb_file_format = BARRACUDA
# InnoDB的文件格式设置为Barracuda
innodb_log_group_home_dir = /www/server/data
# InnoDB日志文件组目录
innodb_buffer_pool_size = 256M
# InnoDB缓冲池大小
innodb_log_file_size = 64M
# InnoDB日志文件大小
innodb_log_buffer_size = 16M
# InnoDB日志缓冲区大小
innodb_flush_log_at_trx_commit = 1
# 每次事务提交时刷新日志
innodb_lock_wait_timeout = 50
# InnoDB锁等待超时时间
innodb_max_dirty_pages_pct = 90
# 脏页最大占用缓冲池的百分比
innodb_read_io_threads = 2
# InnoDB读取IO线程数
innodb_write_io_threads = 2
# InnoDB写入IO线程数
[mysqldump]
quick
max_allowed_packet = 500M
# mysqldump命令的快速导出配置,设置最大数据包大小
[mysql]
no-auto-rehash
# MySQL客户端禁用自动重新哈希
[myisamchk]
key_buffer_size = 32M
# MyISAM索引缓冲区大小
sort_buffer_size = 768K
# MyISAM排序操作使用的缓冲区大小
read_buffer = 2M
# MyISAM读取操作使用的缓冲区大小
write_buffer = 2M
# MyISAM写入操作使用的缓冲区大小
[mysqlhotcopy]
interactive-timeout
# mysqlhotcopy命令的交互超时时间