标签: database-administration

如何监控MySQL空间?

我下载了使用MySQL的Web应用程序的VM映像.

如何监控其空间消耗并知道何时必须添加额外空间?

mysql mysql-management database-administration

13
推荐指数
1
解决办法
1万
查看次数

mysql_secure_installation"无法通过socket连接到本地MySQL服务器"

当我调用文件时,mysql_secure_installation我得到一个错误

    [mysqk123@InstallZeMo bin]$ ./mysql_secure_installation 
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
ERROR 2002 …
Run Code Online (Sandbox Code Playgroud)

mysql database-administration mysql-error-2002

13
推荐指数
4
解决办法
2万
查看次数

"无法打开用户默认数据库.登录失败." 安装SQL Server Management Studio Express后

我在程序使用的本地文件中有一个数据库.该程序功能有限,我需要运行一些快速查询.我安装了SQL Server Management Studio Express 2005(SSMSE),连接到SQL Server实例,附加了数据库文件,并运行了查询.现在原始程序将不再连接到数据库.我收到错误:

无法打开用户默认数据库.登录失败.用户'MyComputer\MyUserName'登录失败.

我已经回到SSMSE并尝试设置默认数据库.我打开了Security,Logins,BUILTIN\AdministratorsBUILTIN\Users.在General下,我已将默认数据库设置为程序的数据库.在User Mappings下,我确保勾选了数据库,并勾选了db_datareaderdb_datawriter.

该程序使用连接字符串:

服务器=(本地)\实例; AttachDbFilename = C:\ PathToDatabase\Database.mdf; 综合安全=真; 用户实例=真;

我知道关于数据库管理的杰克.我还缺少什么?

database sql-server database-connection database-administration sql-server-express

12
推荐指数
4
解决办法
5万
查看次数

SQL数据库最佳实践 - 使用存档表?

我不是一个训练有素的DBA,但执行一些SQL任务并提出这个问题:

在SQL数据库中,我注意到使用归档表模仿具有完全相同字段的另一个表,并且当该数据被认为是存档时用于接受原始表中的行.由于我已经看到这些表位于同一个数据库和同一驱动器上的示例,我的假设是这样做是为了提高性能.这些表格中的行数不超过1000万行......

  • 为什么要这样做而不是使用列来指定行的状态,例如in/active标志的布尔值?
  • 这会在什么时候提高性能?
  • 鉴于数据可能仍需要查询(或与当前数据联合),那么正确构造这种模式的最佳模式是什么?
  • 还有什么可说的呢?

sql design-patterns archive database-administration

12
推荐指数
2
解决办法
1万
查看次数

与X和U锁同一桌上的死锁

我有一个存储过程,在Begin和Commit tran下有以下两个事务.

UPDATE  mytable
SET     UserID = @ToUserID
WHERE   UserID = @UserID 

DELETE  FROM mytable
WHERE   UserID = @UserID 
Run Code Online (Sandbox Code Playgroud)

在运行具有多次执行的Store Procedure时,我会死锁.这是死锁图:

<deadlock-list>
    <deadlock victim="process16409057468">
        <process-list>
            <process id="process16409057468" taskpriority="0" logused="912" waitresource="RID: 6:1:2392:152" waittime="3022" ownerId="6283339" transactionname="user_transaction" lasttranstarted="2019-02-08T21:08:24.663" XDES="0x16401b98490" lockMode="U" schedulerid="8" kpid="23924" status="suspended" spid="92" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2019-02-08T21:08:24.667" lastbatchcompleted="2019-02-08T21:08:24.667" lastattention="1900-01-01T00:00:00.667" clientapp=".Net SqlClient Data Provider" hostname="GYAAN" hostpid="5624" loginname="sa" isolationlevel="read uncommitted (1)" xactid="6283339" currentdb="6" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
                <executionStack>
                    <frame procname="mytable" line="377" stmtstart="33320" stmtend="33540" sqlhandle="0x030006004f6bf63211085201eaa9000001000000000000000000000000000000000000000000000000000000">
                        UPDATE  mytable
                        SET     UserID = @ToUserID
                        WHERE   UserID = @UserID …
Run Code Online (Sandbox Code Playgroud)

sql sql-server database-administration database-deadlocks

12
推荐指数
1
解决办法
342
查看次数

在mysql中为"ft_min_word_len"FULLTEXT设置新值

我改为"ft_min_word_len" = 4 通过my-innodb-heavy-4G.ini位于我的系统路径"C:\Program Files\MySQL\MySQL Server 5.1",但当我运行

SHOW VARIABLES LIKE 'ft_min_word_len'
Run Code Online (Sandbox Code Playgroud)

我还是得到了结果value= 4.我没有在my.ini文件中找到这个变量.所以我也创造了一个逻辑.我复制到ft_min_word_len变量并放在my.ini文件中,现在我的结果显示value=3.

但它不适用于三字符搜索.我重新启动了服务器.

我怎样才能实现能够搜索三个字符值.

mysql full-text-search database-administration fulltext-index

11
推荐指数
2
解决办法
2万
查看次数

如何在oracle中的同一数据库上创建完整模式的副本

我想在同一个数据库上创建模式的完整副本.这样做的最佳技巧是什么?

我心里想的很少:

  1. Datapump Over Db链接
  2. IMPDP在网络链接上
  3. EXPDP然后是IMPDP.

每种技术的优点和/或缺点是什么?

oracle database-administration oracle10g oracle11g

11
推荐指数
1
解决办法
5万
查看次数

ORA-01658:无法为表空间TS_DATA中的段创建INITIAL范围

当我试图在我的User_DB架构中创建一个表时,我收到一个错误ORA-01658: unable to create INITIAL extent for segment in tablespace TS_DATA.我运行以下查询来获取所有TABLESPACE_NAME:

SELECT * FROM DBA_DATA_FILES;
Run Code Online (Sandbox Code Playgroud)

但我真的不知道我正在使用哪个表空间以及如何扩展表空间来解决这个问题.

oracle select database-administration tablespace

11
推荐指数
1
解决办法
6万
查看次数

无法删除PostgreSQL角色.错误:`因为某些对象依赖于它而无法删除`

我试图删除PostgreSQL用户:

DROP USER ryan;
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

Error in query:
ERROR: role "ryan" cannot be dropped because some objects depend on it
DETAIL: privileges for database mydatabase
Run Code Online (Sandbox Code Playgroud)

我从这些线程中寻找解决方案:

还是有同样的错误.

在我向用户"ryan"授予所有权限后,会发生这种情况:

GRANT ALL PRIVILEGES ON DATABASE mydatabase ON SCHEMA public TO ryan;
Run Code Online (Sandbox Code Playgroud)

postgresql roles database-administration

11
推荐指数
4
解决办法
7658
查看次数

无法从函数或多命令字符串执行VACUUM

我使用PL/pgSQL编写了一个脚本,我在pgAdmin III中运行.该脚本删除现有的DB内容,然后为所需的测试场景添加一堆"样本"数据(通常是各种类型的负载测试).加载数据后,我想"真空分析"受影响的表,既可以从已删除的记录中恢复空间,又可以准确反映新内容.

我可以使用各种变通方法(例如手动执行VACUUM ANALYZE,包括脚本中各种结构的drop/create语句等)但是,我真正想做的是:

DO $$
BEGIN
  -- parent table
  FOR i IN 1..10000 LOOP
    INSERT INTO my_parent_table( ... ) VALUES ...;
  END LOOP;

  VACUUM ANALYZE my_parent_table;

  -- child table
  FOR i IN 1..50000 LOOP
    INSERT INTO my_child_table( ... ) VALUES ...;
  END LOOP;

  VACUUM ANALYZE my_child_table;
END;
$$;
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到:

ERROR:  VACUUM cannot be executed from a function or multi-command string
Run Code Online (Sandbox Code Playgroud)

那么我尝试将真空语句移动到最后:

DO $$
BEGIN
  -- parent table
  FOR i IN 1..10000 LOOP
    INSERT INTO my_parent_table( ... ) VALUES ...; …
Run Code Online (Sandbox Code Playgroud)

postgresql database-administration postgresql-9.2

10
推荐指数
1
解决办法
7029
查看次数