GVKun编程网logo

mssql 收缩数据库与收缩数据和日志 sql语句(sql收缩数据库日志的几种办法)

4

在本文中,我们将详细介绍mssql收缩数据库与收缩数据和日志sql语句的各个方面,并为您提供关于sql收缩数据库日志的几种办法的相关解答,同时,我们也将为您带来关于.netcoreProfiler监控

在本文中,我们将详细介绍mssql 收缩数据库与收缩数据和日志 sql语句的各个方面,并为您提供关于sql收缩数据库日志的几种办法的相关解答,同时,我们也将为您带来关于.net core Profiler 监控 NPOCO ORM 的 SQL语句、13-2 13 mysql 用户管理 sql语句 mysql数据库备份恢复、lnmp 环境里安装 mssql 及 mssql 的 php 扩展、log4j打印mybatis sql语句的有用知识。

本文目录一览:

mssql 收缩数据库与收缩数据和日志 sql语句(sql收缩数据库日志的几种办法)

mssql 收缩数据库与收缩数据和日志 sql语句(sql收缩数据库日志的几种办法)

mssql 收缩数据库与收缩数据和日志 sql语句本教程只讲取关于mssql server 数据库的收缩语句,索引重建的sql语,以及mssql server 收缩数据和日志的sql语句哦。

mssql 收缩与收缩数据和日志 sql语句本教程只讲取关于mssql server 数据库的收缩语句,索引重建的sql语,以及mssql server 收缩数据和日志的sql语句哦。

收缩数据库

--重建索引

dbcc reindex
dbcc indexdefrag

--收缩数据和日志

dbcc shrinkdb
dbcc shrinkfile

.net core Profiler 监控 NPOCO ORM 的 SQL语句

.net core Profiler 监控 NPOCO ORM 的 SQL语句

1、在 nuget.org 安装 Profiler.AspNetCore.Mvc 

PM> Install-Package MiniProfiler.AspNetCore.Mvc

2、在 Startup.cs 中修改ConfigureServices 

public void ConfigureServices(IServiceCollection services)
        {
           
            services.AddControllersWithViews();
            // miniprofile conf.
            services.AddMiniProfiler(options => 
            {
                options.PopupRenderPosition = RenderPosition.BottomLeft;
                options.PopupShowTimeWithChildren = true;

            });
        }

3、在 Startup.cs 中修改  Configure

 public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseMiniProfiler();
            //重点这个
            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                //endpoints.MapGet("/", async context =>
                //{
                //    await context.Response.WriteAsync("Hello World!");
                //});
                endpoints.MapControllerRoute(
                    name:"Home",
                    pattern:"{controller=Home}/{action=Index}/{id?}");
            });
        }

4、重写 NPOCO 的 Database中 OnConnectionOpened 方法(官网wike这个地方是错误的 2020.2.25记录)

public class MyDatabase: Database
    {
        public MyDatabase(string connectionString) : base(connectionString, DatabaseType.SqlServer2012, SqlClientFactory.Instance) { }
        protected override DbConnection OnConnectionOpened(DbConnection conn)
        {
            return new ProfiledDbConnection(conn, MiniProfiler.Current);
        }
    }

5、使用 (稍微不同,我在 MyDatabase 中封装了一下)

 public IEnumerable<LoginLog> Find() {
            using (var db = new MyDatabase("db")
            {
                var query = db.Fetch<LoginLog>();
                return query;
            }
        }

6、_ViewImports.cshtml 添加对 Profiler 的支持

@using Test_MiniProfile
@using StackExchange.Profiling
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, MiniProfiler.AspNetCore.Mvc

7、在母版页合适的地方展示 Profiler

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - BaseMvcWeb</title>
</head>
<body>
   
            @RenderBody()
        <mini-profiler />
</body>
</html>

 

谢谢

13-2 13 mysql 用户管理 sql语句 mysql数据库备份恢复

13-2 13 mysql 用户管理 sql语句 mysql数据库备份恢复

13.4 mysql用户管理

13.5 常用sql语句

13.6 mysql数据库备份恢复

13.4 MySQL用户管理

MySQL创建用户以及授权

mysql -uroot -p
grant all on *.* to ''user1''@''127.0.0.1'' identified by ''1234a'';   //第一个*为库,第二个*为表
quit
mysql -uuser1 -p1234a -h127.0.0.1
[ctrl-d]
mysql -uroot p
grant all on *.* to ''user1'' identified by ''1234a'';
exit
mysql -uuser1 -p1234a -h试试看
还可以:
grant SELECT,UPDATE,INSERT on db1.* to ''user2''@''192.168.83.1'' identified by ''passwd'';
grant all on db1.* to ''user3''@''%'' identified by ''passwd''; 

show grants; 查看当前用户权限
show grants for user1@127.0.0.1;
show grants for user2@192.168.83.1; 两行可以用于迁移用户IP,两行改IP执行下,原密码会保留

13.5 常用sql语句

开发,DBA需要深入掌握,但是作为系统管理员,基本的得会!

select 查

 select count(*) from mysql.user;  查mysql库的user表有多少行
 select * from mysql.db;  查mysql.db所有内容
 select db from mysql.db; 查mysql.db的db字段
 select db,user from mysql.db; 查看mysql.db的多个字段
 select * from mysql.db where host like ''192.168.%'';  模糊查询

insert 插入

 insert into db1.t1 values (1, ''abc'');  插入数据
 desc db1.t1查看表字段结构,明确插入字符格式

update 修改

 update db1.t1 set name=''aaa'' where id=1;  

删除,小心用

 delete from db1.t1 where id=1  //删除id表头字段下,=1的行
 truncate table db1.t1;  //清空表内容,字段表头保留
 drop table db1.t1;    //删除表
 drop database db1;   //删除库
  • 常用数据引擎 myisam innodb
    • 自带的mysql库就是myisam引擎
      • use mysql;
      • show create table uesr\G;
      • 查看count(*)非常快
    • 查看innodb的引擎
      • use db1;
      • show create table t1;
      • 查看count(*)很慢,对大表慎用

13.6 MySQL数据库备份恢复

备份库 mysqldump -uroot -p123456 mysql > /tmp/mysql.sql 恢复库 mysql -uroot -p123456 mysql < /tmp/mysql.sql 备份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql 恢复表 mysql -uroot -p123456 mysql < /tmp/user.sql 备份所有库 mysqldump -uroot -p -A >/tmp/123.sql 只备份表结构 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

MySQL空密码用户清理

假设你想管理下用户,只记得某个库里的某个表管理用户的登录,你需要这么做:

  • 前提是有足够权限的账户,没有就skip刷root密码吧
  • 还得知道某个库下的某个表里的某个字段,管理着用户的登录相关的信息
[root@axiang-02 ~]# mysql -uroot -p
Enter password:

mysql> show databases;   //查所有库的名字
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |    //你看到mysql库,想起来就这个库里,但是不知道查那个表
| performance_schema |
| test               |
+--------------------+

mysql> use mysql;    //选择mysql库
mysql> show tables;    //查mysql里面的所有表
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |    //你看到user表,想起来应该在这里,但是不知道查那个字段
+---------------------------+

mysql> desc user;    //查看所有user下的字段名(表头)
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field                  | Type                              | Null | Key | Default               | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host                   | char(60)                          | NO   | PRI |                       |       |
| User                   | char(16)                          | NO   | PRI |                       |       |
| Password               | char(41)                          | NO   |     |                       |       |
看到这里你想起来,需要了解user,host,password这三个字段
mysql> select user,host,password from mysql.user;    //查看这三个字段的内容
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *8E1A3402D66F8DDD8D9D19596B706C6D238C0F34 |
| root | axiang-02 |                                           |
| root | 127.0.0.1 |                                           |
| root | ::1       |                                           |
|      | localhost |                                           |
|      | axiang-02 |                                           |
+------+-----------+-------------------------------------------+
看到这里,你发现任意用户名不需要密码就可以登录。需要删掉。删东西前要备份

[root@axiang-02 ~]# mysqldump -uroot -paxianglinux mysql user > /tmp/user.sql

mysql> delete from mysql.user where password='''';    //删掉
mysql> select user,host,password from mysql.user;    //再看
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *8E1A3402D66F8DDD8D9D19596B706C6D238C0F34 |
+------+-----------+-------------------------------------------+

重启mysql服务试试看吧

扩展

  1. SQL语句教程 http://blog.51cto.com/zt/206
  2. 什么是事务?事务的特性有哪些? http://blog.csdn.net/yenange/article/details/7556094
  3. 根据binlog恢复指定时间段的数据 http://www.centoscn.com/mysql/2015/0204/4630.html
  4. mysql字符集调整 http://xjsunjie.blog.51cto.com/999372/1355013
  5. 使用xtrabackup备份innodb引擎的数据库 http://www.aminglinux.com/bbs/thread-956-1-1.html
  6. innobackupex 备份 Xtrabackup 增量备份 http://www.aminglinux.com/bbs/thread-1012-1-1.html

lnmp 环境里安装 mssql 及 mssql 的 php 扩展

lnmp 环境里安装 mssql 及 mssql 的 php 扩展

小活中用到 mssql, 于是在自己 lnmp 环境中安装各 mssql 数据库

步骤如下: 

源码编译安装

(1)下载 freetds-stable-0.91 源码: http://download.csdn.net/download/xhu_eternalcc/7457555(花了 4 积分,没有积分的找我要,微信 zmd1047773569)
          上传到根目录下的 download 文件中
(2)编译安装:
   # cd /download

           # tar zxvf freetds-stable.tgz(解压,)

 

   # cd freetds-0.91

   # 编译

            # ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib

            # make

            # make install

            参数解释:

            安装 freetds 到目录 /usr/local/freetds:--prefix=/usr/local/freetds

            支持 MSSQL2000:--with-tdsver=8.0 --enable-msdblib

 

配置 FreeTds 的库文件

将 freetds 的库文件所在路径配置到 LD_LIBRARY_PATH 参数中:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/localfreetds/lib/:

或者直接把 etc/bashrc 的文件 bashrc 直接填写上  LD_LIBRARY_PATH=/usr/localfreetds/lib:$LD_LIBRARY_PATH

这么作的目的是为了避免加载 FreeTds 库文件加载不上的情况。

 

 

php 里安装 php-mssql 扩展:

cd /download (把php-mssql扩展下载到download目录里)
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz (下载扩展文件,这里要根据你环境中运行的php版本选择对应的扩展版本下载,我这里php是5.6.30的 所以php-mssql扩展下载对应的版本) tar -zxvf php-5.6.30.tar.gz cd /php-5.6.30/ext/mssql
 /usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/ 

make
&& make install

编译安装后的结果 如下图

 

同时 mssql.so 也在 php 扩展文件下生成 (如下图)

 

 

 

 把 extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mssql.so"  添加到 usr/local/php/lib/php.ini 中

 引用扩展后,重启 web 服务,通过 phpinfo 查看扩展 mssql 是否开启成功

重启 php   /usr/local/php/sbin/php-fpm reload  

重启 nginx  进入 nginx 可执行目录 sbin 下,输入命令./nginx -s reload 即可(或者 /application/nginx/sbin/nginx -s reload)

 

 

 

log4j打印mybatis sql语句

log4j打印mybatis sql语句

Mybatis默认使用有slf4j

必须加上依赖

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
 
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>

否则是怎么配置log4j都是无法打印mybatis的sql到日志

log4j配置

# Direct log messages to console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
 
# Root logger option
log4j.rootLogger=debug,console


今天的关于mssql 收缩数据库与收缩数据和日志 sql语句sql收缩数据库日志的几种办法的分享已经结束,谢谢您的关注,如果想了解更多关于.net core Profiler 监控 NPOCO ORM 的 SQL语句、13-2 13 mysql 用户管理 sql语句 mysql数据库备份恢复、lnmp 环境里安装 mssql 及 mssql 的 php 扩展、log4j打印mybatis sql语句的相关知识,请在本站进行查询。

本文标签: