咨询热线:0731-89713066
MySQL相关说明与常用命令
发布时间:2018-03-23 11:11:15

一、与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秒算慢查询。