命令:
查看 MySQL 的安装路径:1. select @@basedir as basePath from dual;
2. show variables like "%char%";
- character_sets_dir 这个就是安装路径。
查看 MySQL 的data路径:1. select @@datadir as dataPath from dual;
2. show variables Like '%datadir%';
命令行连接数据库:mysql -h localhost -u 用户名(mysql 默认用户root) -p(这个是要输入密码带的选项)
Ps: 该命令为 mysql -h localhost -u root -proot。这里的 -p 后面的 root 就是密码。此处特别注意 -p 和密码之间没有空格。如果出现空格,系统将不会把后面的字符串当成密码来对待
切换当前数据库: use 数据库名;
查看所有数据库:1.show databases;
2.select schema_name from information_schema.schemataG
查看所有用户: select user,host from mysql.user;
查看mysql数据库的运行状态: status;
查看当前数据库:select database();
show tables; 命令后,查看 Tables_in_数据库名
status; 命令后,查看 Current database: 后面就是当前数据库。
查看表结构: desc table_name;
查询数据库连接: show full processlist;
不连接数据库查询数据库连接: mysqladmin -uroot -p processlist
查看最大连接数: show status like'%Max_used_connections%';
当前连接数: show status like '%Threads_connected%';
表锁定: show status like '%table_lock%';
行锁定: show status like 'innodb_row_lock%';
查询缓存情况: show status like '%qcache%';
查询缓存: show variables like "%query_cache%";
查看查询缓存使用状态值: show status like 'Qcache%';
查看MySQL binlog模式: show variables like "%binlog%";
由于客户没有正确关闭连接已经死掉,已经放弃的连接数量: show status like 'Aborted_clients';
查看最大连接数量: show variables like '%max_connections%';
查看超时时间: show variables like '%timeout%';
查看日志是否启动: show variables like 'log_%';
格式化输出乱的查询: 在 ; 前加上 \G
用户和权限:
查看当前mysql用户权限: show grants;
查看某个用户的权限: show grants for 用户名@主机;
MySQL用户创建: create user '用户名'@'主机' identified by '密码';
赋予 MySQL 用户权限:grant {PRIVILEGES} on *.* to '用户名'@'host';
PRIVILEGES 代表权限,具体要赋予那些权限,自己查看MySQL 文档
*.* 代表所有数据库所有表, 如果是特定的数据库,例如: test.*
mysql 交互环境:
获取帮助:mysql> # ? 或者 \? 或者 help
mysql> \?
mysql> help
mysql> # 如果我们要列出 ALTER 命令有那些, 可以用 (这里的help 可以 替换成 ? 或者 \?)
mysql> help ALTER
mysql> # 更加具体的信息就可以用 (这里的help 可以 替换成 ? 或者 \?)
mysql> help ALTER TABLE
列出所有数据库:mysql> show databases;
切换数据库:mysql> # 数据库名后面可以有分号, 可以没有。
mysql> use 数据库名
查询当前数据库:mysql> # 第一种: (注意这种写法,如果数据库为空,则报错)
mysql> select database();
mysql> # 第二种: (第一行为 Tables_in_XXX, 这里的 XXX 就是当前所在数据库.)
mysql> show tables;
mysql> # 第三种:
mysql> status;
执行sql脚本:mysql> # 第一种: (*.sql 为脚本名,可以用 绝对路径 或者 相对路径;)
mysql> # mysql –u用户名 –p密码 –D数据库
mysql> mysql -uroot -p123456 -Dtest
mysql> # 第二种: (*.sql 为脚本名,可以用 绝对路径 或者 相对路径; 相对路径是相对, 执行 mysql -u 进入交互时的目录路径)
mysql> source *.sql;
mysql> # 第三种:
mysql> .\ *.sql;
Mysql 中的函数:
获取当前日期:mysql> # 第一种: (curdate() 不区分大小写)
mysql> select curdate();
mysql> # 第二种: (now() 先获取当前时间; 然后转成 date)
mysql> # DATE() 截取日期部分
mysql> select date(now());