查看MySQL数据库存储引擎和默认引擎,可以用命令:
show
engines
有时编写SQL语句时,出现了错误,想要查看上一条SQL错误,可以利用命令:
show
errors
查看最后一个执行语句的错误、提醒和警告,可以用命令:
show
warnings
查看系统的一些资源状态,可以利用命令:
show
status
显示系统里的一些变量名称和变量值,可以利用命令:
show
variables
有时需要查看MySQL服务器支持的不同权限,可以利用命令:
show
privileges
MySQL系统变量(system variables)实际上是一些系统参数,用于初始化或设定数据库对系统资源的占用,文件存放位置等等。mysql>show variables like "log"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log | OFF |
+---------------+-------+
1 row in set (0.00 sec)
mysql>set @log=1
Query OK, 0 rows affected (0.00 sec)
mysql>show variables like "log"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log | OFF |
+---------------+-------+
1 row in set (0.00 sec)
mysql>set @log="ON"
Query OK, 0 rows affected (0.00 sec)
mysql>show variables like "log"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log | OFF |
+---------------+-------+
1 row in set (0.00 sec)
MySQL 里设置或修改系统变量的几种方法
-- 设置或修改系统日志有效期
SET GLOBAL expire_logs_days=8
SHOW VARIABLES LIKE '%expire_logs_days%'
-- 设置或修改系统最大连接数
SET GLOBAL max_connections = 2648
SHOW VARIABLES LIKE '%max_connections%'
-- 修改MYSQL自动编号步长
SHOW VARIABLES LIKE '%auto_increment%'
SET GLOBAL auto_increment_offset = 1
SET GLOBAL auto_increment_increment = 1
比如设置MySQL实例参数wait_timeout为10秒.
1) 设置全局变量方法1(不推荐): 修改参数文件, 然后重启mysqld
# vi /etc/my.cnf
[mysqld]
wait_timeout=10
# service mysqld restart
不过这个方法太生硬了, 线上服务重启无论如何都应该尽可能避免.
2) 设置全局变量方法2(推荐): 在命令行里通过SET来设置, 然后再修改参数文件
如果要修改全局变量, 必须要显示指定"GLOBAL"或者"@@global.", 同时必须要有SUPER权限.
mysql>set global wait_timeout=10
or
mysql>set @@global.wait_timeout=10
然后查看设置是否成功:
mysql>select @@global.wait_timeout=10
or
mysql>show global variables like 'wait_timeout'
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 10|
+---------------+-------+
如果查询时使用的是show variables的话, 会发现设置并没有生效, 除非重新登录再查看. 这是因为使用show variables的话就等同于使用show session variables, 查询的是会话变量, 只有使用show global variables查询的才是全局变量. 如果仅仅想修改会话变量的话, 可以使用类似set wait_timeout=10或者set session wait_timeout=10这样的语法.
当前只修改了正在运行的MySQL实例参数, 但下次重启mysqld又会回到默认值, 所以别忘了修改参数文件:
# vi /etc/my.cnf
[mysqld]
wait_timeout=10
3) 设置会话变量方法: 在命令行里通过SET来设置
如果要修改会话变量值, 可以指定"SESSION"或者"@@session."或者"@@"或者"LOCAL"或者"@@local.", 或者什么都不使用.
mysql>set wait_timeout=10
or
mysql>set session wait_timeout=10
or
mysql>set local wait_timeout=10
or
mysql>set @@wait_timeout=10
or
mysql>set @@session.wait_timeout=10
or
mysql>set @@local.wait_timeout=10
然后查看设置是否成功:
mysql>select @@wait_timeout
or
mysql>select @@session.wait_timeout
or
mysql>select @@local.wait_timeout
or
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)