Mysql的物理文件

本文介绍了MySQL在Windows和Linux系统下的配置文件,分别是my.ini和my.cnf。还阐述了不同存储引擎索引与数据的存储方式,如myisam分开存储、INNODB主键索引不分开存储。此外,详细讲解了MySQL的各类日志,包括查询、慢查询、错误和binlog日志,以及相关开启方法和数据恢复操作,最后提及常见错误及解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Windows下面的配置文件是:my.ini

[mysql]
default-character-set=utf8

[mysqld]
port=3306
default_authentication_plugin=mysql_native_password
basedir=E:/phpStudy/phpstudy_pro/Extensions/MySQL8.0.12/
datadir=E:/phpStudy/phpstudy_pro/Extensions/MySQL8.0.12/data/
character-set-server=utf8
default-storage-engine=MyIsam
max_connections=1000
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
innodb_buffer_pool_size=64M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=120
innodb_log_buffer_size=4M
innodb_log_file_size=256M
interactive_timeout=120
join_buffer_size=2M
key_buffer_size=32M
log-error="E:/phpStudy/phpstudy_pro/Extensions/MySQL8.0.12/data"
log_error_verbosity=1
max_allowed_packet=16M
max_connections=1000
max_heap_table_size=64M
myisam_max_sort_file_size=64G
myisam_sort_buffer_size=32M
read_buffer_size=512kb
read_rnd_buffer_size=4M
server_id=1
skip-external-locking=on
sort_buffer_size=256kb
table_open_cache=256
thread_cache_size=16
tmp_table_size=64M
wait_timeout=120
[client]
port=3306
default-character-set=utf8

default-strong-engine=INNODB

主从和集群都要修改配置文件

2.Linux系统下面的配置文件是:my.cnf

[client]
port		= 3306
socket		= /tmp/mysql.sock

[mysqld]
secure_file_priv=/var/lib/mysql
port		= 3306
socket		= /tmp/mysql.sock
datadir = /usr/local/mysql/data
default_storage_engine = InnoDB
performance_schema_max_table_instances = 400
table_definition_cache = 400
skip-external-locking
key_buffer_size = 32M
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
thread_cache_size = 16
tmp_table_size = 32M
default_authentication_plugin = mysql_native_password
lower_case_table_names = 1
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
log_error=/usr/local/mysql/data/error.err


explicit_defaults_for_timestamp = true
max_connections = 1000
max_connect_errors = 100
open_files_limit = 65535

log-bin=mysql-bin
binlog_format=mixed
server-id = 1
binlog_expire_logs_seconds = 600000
slow_query_log=1
slow-query-log-file=/usr/local/mysql/data/mysql-slow.log
long_query_time=3
early-plugin-load = ""

innodb_data_home_dir = /usr/local/mysql/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data
innodb_buffer_pool_size = 128M
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 1
innodb_write_io_threads = 1

[mysqldump]
quick
max_allowed_packet = 500M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 768K
read_buffer = 2M
write_buffer = 2M

Bin目录下的mysql程序:

程序 描述
mysqld
### 如何通过物理文件恢复 MySQL 数据库 #### 准备工作 为了成功地从物理文件恢复MySQL数据库,确保目标操作系统(Windows 7)上已经安装了相同版本的MySQL服务器软件。不同版本之间可能存在不兼容的情况,这会影响恢复过程的成功率。 #### 停止MySQL服务 在尝试任何操作之前,停止正在运行的MySQL服务是非常重要的一步。可以通过命令行工具来实现这一目的,在Windows环境下可以使用如下指令: ```batch net stop mysql ``` 这条命令将会终止当前所有的MySQL活动进程,从而允许安全地修改底层的数据文件[^1]。 #### 替换数据目录 接下来,定位到新环境中MySQL默认存储数据的位置,默认路径通常是`C:\ProgramData\MySQL\MySQL Server 8.0\Data`。如果不确定确切位置,可以在配置文件my.ini或my.cnf中查找datadir参数指定的具体地址。 将来自Ubuntu系统的整个数据库文件夹复制到这里,并覆盖现有的同名文件夹。注意保留原有的db.opt文件不变,因为它包含了特定于该数据库的重要元信息[^2]。 #### 修改权限(仅限必要时) 有时可能遇到由于文件所有权或访问控制列表(ACLs)引起的权限问题。在这种情况下,需要调整这些属性以便让新的MySQL实例能够正常读写这些文件。对于大多数情况来说,只要保证MySQL服务账户拥有充分的操作权利即可解决问题。 #### 启动并验证MySQL服务 完成上述步骤之后,重新启动MySQL服务以加载更新后的数据集: ```batch net start mysql ``` 此时应该可以看到已恢复的表和其他对象出现在phpMyAdmin或其他管理界面内。建议立即执行一次全面检查,确认所有预期中的记录都存在且完好无损。 #### 处理潜在错误 假如遇到了诸如“Tablespace is missing”之类的报错提示,则可能是由于InnoDB引擎未能识别某些.ibd文件所引起的问题。针对这种情况的一个解决方案是从旧环境获取相应的frm定义文件以及ib_logfile日志片段一起迁移过来;另外也可以考虑利用mysqldump逻辑导出的方式作为替代方案来进行更彻底的数据转移[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值