一、与MySQL的相关说明
以下说明都以在Windows环境下MySQL5.7为例来说明。
1、相关目录。
在默认安装的选项下,Mysql安装目录在 C:\Program Files\MySQL\MySQL Server 5.7\
配置、数据等文件在C:\ProgramData\MySQL\MySQL Server 5.7\
2、链接串配置
Server=localhost;Database=db_test;Uid=root;Pwd=**;AllowUserVariables=True;
基本上都是使用这个模式。最后一个选项AllowUserVariables的意思是,可以在查询过程中使用用户变量。示例一个场景:在某系统更新用户积分的时候,通过增量的方式更新Blance = Blance + 10,想在一条语句完成后获得更新后的数值。可以在代码里使用这样的SQL "Set @blance := 0; Update Users Set blance = (Select @blance := blance + 10) Where user_id=1;Select @blance as blance;" 这样最后执行的结果就是更新到用户的数值。
二、操作MySQL的日常用命令
1、打开数据库 (命令行)
mysql -h192.168.0.10 -uroot -p123456 db_test
参数说明:参数一般以-开关后面接参数值,不要带空格。-h192.168.0.10 表示要连接数据库的IP地址是192.168.0.10(可选,不填则表示连接localhost), -uroot 表示连接的用户名是root,-p123456表示连接密码是123456(这种方式不推荐,明文输入密码。可直接-p回车后会提示输入密码),后面带的是要打开的数据库(此参数可选,可在连接数据库后使用use db_test切换到不同数据库)。
2、备份数据库(命令行)
mysqldump -h192.168.0.10 -uroot -p db_test > c:\db_test.sql
参数说明:大部分参数跟打开数据库的是一样的, > c:\db_test.sql是指备份后的文件存放目录
3、恢复数据库(命令行)
mysql -h192.168.0.10 -uroot -p db_test < c:\db_test.sql
参数同备份数据库
三、常用SQL语句
1、查询语句
SELECT * FROM users WHERE name LIKE '李%';
SELECT * FROM users WHERE code LIKE '43_';
% 和 _ 是通配符。%通配任意位数字符。 _通配一位任意字符
2、查询结构
show databases; 显示当前所有数据库
use db_test; 切换数据库
show tables; 显示当前数据库下所有表
desc table1; 显示表table1的结构
3、创建
create database db_test; 创建数据库 db_test
grant all on db_test.* to user_test@'%' identified by '123456'; 创建用户user_test,使他有db_test数据为的所有权限。密码为123456。如果是已有用户,identified by '123456' 这个可选
grant all on db_test.* to user_test@'localhost' identified by '123456'; 创建用户user_test,使他有db_test数据为的所有权限。密码为123456。此用户只能在数据库本机访问此数据库
grant all on db_test.* to user_test@'192.168.0.100' identified by '123456'; 创建用户user_test,使他有db_test数据为的所有权限。密码为123456。此用户只能在IP为192.168.0.100的机器上访问此数据库
flush privileges; 因为MYSQL权限的问题,创建用户或修改权限等后,必须使用此命令更新。
4、配置相关
SHOW VARIABLES LIKE "general_log%"; 日志记录,是否开启SQL日志记录。开启后每个执行的SQL都会记录到日志文件中。默认放在目录C:\ProgramData\MySQL\MySQL Server 5.7\Data 中
+-------------------+----------------------------+
| Variable_name | Value |
+-------------------+----------------------------+
| general_log | OFF |
| general_log_file| BF-20170509QLYU.log |
+-------------------+----------------------------+
SET GLOBAL general_log = 'ON'; 修改开启状态,参数为ON / OFF
SET GLOBAL general_log_file = 'db_test.log'; 修改日志文件名
SHOW VARIABLES LIKE ‘%slow_query_log%'; 慢查询记录,是否开启慢查询日志记录。
+---------------------+--------------------------+
| Variable_name | Value |
+---------------------+--------------------------+
| slow_query_log | ON |
| slow_query_log_file | BF-20170509QLYU-slow.log |
+---------------------+--------------------------+
SET GLOBAL slow-query-log = 1; 修改开启状态,参数为1 / 0
SET GLOBAL slow_query_log_file = 'db_test.log'; 修改日志文件名
SHOW VARIABLES LIKE '%long_query_time%';查询时间阀值,超过多少秒算慢查询,默认为10秒。
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
SET GLOBAL long_query_time = 1; 修改时间阀值,超过1秒算慢查询。