MYSQL 后台命令及参数

状态

show status like '参数';

table_locks_immediate:产生表级锁定的次数;

table_locks_waited:出现表级锁定争用而发生等待的次数;

max_used_connections:响应连接数

Innodb_row_lock_current_waits:当前正在等待锁定的数量; 
Innodb_row_lock_time:从系统启动到现在锁定总时间长度; 
Innodb_row_lock_time_avg:每次等待所花平均时间; 
Innodb_row_lock_time_max:从系统启动到现在等待最常的一次所花的时间; 
Innodb_row_lock_waits:系统启动后到现在总共等待的次数;

Innodb_buffer_pool_pages_total :缓冲池总页数
Innodb_buffer_pool_pages_free :空闲页数
Innodb_buffer_pool_pages_data :数据页数, LRU 列表中页的数量 , 包含 young sublist old sublist。

 

 

参数

show variables like '参数';

innodb_page_size:InnoDB读取页大小

max_connections:最大连接数
datadir:存储位置
innodb_buffer_pool_size:缓存池大小
autocommit:是否自动提交MDL,MXL,MML语句
innodb_old_blocks_pct:Buffer Pool的LRU链表中old区(冷数据)占比
innodb_old_blocks_time:数据从old区转到yong区的访问间隔(ms)
 
 

所有连接

show full processlist;
 
 

加锁

全局锁
flush tables with read lock;
unlock tables;解锁
 
表级锁
-- 表级读锁:当前会话只能读不能写,其他会话正常读,写阻塞;
-- 表级写锁:当前会话能读能写,其他会话读写阻塞;
lock table 表名称 read(write),表名称2 read(write),其他; 
show open tables;  查看表锁情况
unlock tables;  删除表锁
 
行级锁
共享读锁(S): 允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。
SELECT * FROM 表名 WHERE ... LOCK IN SHARE MODE -- 共享读锁 手动添加
select * from table -- 无锁
 
排他写锁(X) :允许获得排他写锁的事务更新数据,阻止其他事务取得相同数据集的共享读锁(不是
读)和排他写锁。
自动加:对于 UPDATE DELETE INSERT 语句, InnoDB 会自动给涉及数据集加排他锁( X)
手动加: SELECT * FROM table_name WHERE ... FOR UPDATE
### 回答1: 在 MySQL 中,你可以使用以下命令来从文件中导入数据: ``` LOAD DATA INFILE 'file_name.txt' INTO TABLE table_name ``` 要在后台执行这个命令,可以使用 "&" 符号,例如: ``` LOAD DATA INFILE 'file_name.txt' INTO TABLE table_name & ``` 注意: - 该命令假定文件和 MySQL 服务器位于同一台机器上。如果文件位于远程机器上,则需要使用 "LOAD DATA FROM MASTER" 命令。 - 该命令需要相应的文件访问权限。 - 该命令只能由 MySQL 超级用户执行。 - 该命令会忽略文件中的第一行,因此如果文件中的第一行包含数据库列名,则可能需要使用 "IGNORE 1 ROWS" 选项。 ### 回答2: 可以使用mysql命令行工具来导入数据并实现后台执行。 首先,打开终端或命令行窗口,并通过mysql命令进入MySQL命令行环境。 接下来,使用source命令将要导入的数据文件路径作为参数,例如: source /path/to/your/datafile.sql 请确保你提供了正确的文件路径。 在默认情况下,使用source命令导入数据将在前台执行,这意味着在导入过程中不能进行其他操作。如果你想要将导入过程置于后台执行,可以使用Linux或Unix的后台运行命令“&”。 具体做法是,在source命令后添加一个空格,然后输入"&"。例如: source /path/to/your/datafile.sql & 这样,导入过程将被放在后台执行,你可以继续使用命令行,而不必等待导入过程完成。 需要注意的是,后台执行可能会导致导入过程的日志信息不再显示在命令行窗口中。如果你想要查看或监控导入的日志信息,可以将导入日志输出到指定的文件中,例如: source /path/to/your/datafile.sql > /path/to/your/logfile.txt & 这样,导入过程的日志信息将被输出到指定的文件中,你可以通过查看日志文件来监控导入的进度和结果。 总结起来,要实现将mysql命令导入数据后台执行,可以使用source命令,并在命令后添加空格和"&"符号。如有需要,还可以将日志信息输出到文件中方便查看。 ### 回答3: 要在后台执行 MySQL 命令并导入数据,可以使用以下方法: 1. 使用nohup命令执行MySQL导入命令,并将输出重定向到文件中。命令格式如下: ```shell nohup mysql -u 用户名 -p 密码 数据库名 < 导入的SQL文件名 > 日志文件名 2>&1 & ``` 例如,要导入名为data.sql的SQL文件到名为test的数据库中,并将输出保存到log.txt文件中,执行的命令如下: ```shell nohup mysql -u root -p test < data.sql > log.txt 2>&1 & ``` 这样,MySQL导入命令就会在后台执行,并且相关的输出信息会被重定向到log.txt文件中。 2. 使用在Linux环境中常用的后台执行命令`&`执行MySQL导入命令命令格式如下: ```shell mysql -u 用户名 -p 密码 数据库名 < 导入的SQL文件名 > /dev/null 2>&1 & ``` 例如,要将data.sql文件导入到test数据库中,并忽略输出信息,执行的命令如下: ```shell mysql -u root -p test < data.sql > /dev/null 2>&1 & ``` 这样,MySQL导入命令也会在后台执行。 无论使用哪种方法,在后台执行MySQL导入命令时,可以通过查看相应的日志文件来检查执行情况,并确保数据成功导入到数据库中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值