我下载了使用MySQL的Web应用程序的VM映像.
如何监控其空间消耗并知道何时必须添加额外空间?
当我调用文件时,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) 我在程序使用的本地文件中有一个数据库.该程序功能有限,我需要运行一些快速查询.我安装了SQL Server Management Studio Express 2005(SSMSE),连接到SQL Server实例,附加了数据库文件,并运行了查询.现在原始程序将不再连接到数据库.我收到错误:
无法打开用户默认数据库.登录失败.用户'MyComputer\MyUserName'登录失败.
我已经回到SSMSE并尝试设置默认数据库.我打开了Security,Logins,BUILTIN\Administrators和BUILTIN\Users.在General下,我已将默认数据库设置为程序的数据库.在User Mappings下,我确保勾选了数据库,并勾选了db_datareader和db_datawriter.
该程序使用连接字符串:
服务器=(本地)\实例; AttachDbFilename = C:\ PathToDatabase\Database.mdf; 综合安全=真; 用户实例=真;
我知道关于数据库管理的杰克.我还缺少什么?
database sql-server database-connection database-administration sql-server-express
我不是一个训练有素的DBA,但执行一些SQL任务并提出这个问题:
在SQL数据库中,我注意到使用归档表模仿具有完全相同字段的另一个表,并且当该数据被认为是存档时用于接受原始表中的行.由于我已经看到这些表位于同一个数据库和同一驱动器上的示例,我的假设是这样做是为了提高性能.这些表格中的行数不超过1000万行......
我有一个存储过程,在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) 我改为"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
我想在同一个数据库上创建模式的完整副本.这样做的最佳技巧是什么?
我心里想的很少:
每种技术的优点和/或缺点是什么?
当我试图在我的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)
但我真的不知道我正在使用哪个表空间以及如何扩展表空间来解决这个问题.
我试图删除PostgreSQL用户:
DROP USER ryan;
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
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
我从这些线程中寻找解决方案:
还是有同样的错误.
在我向用户"ryan"授予所有权限后,会发生这种情况:
GRANT ALL PRIVILEGES ON DATABASE mydatabase ON SCHEMA public TO ryan;
Run Code Online (Sandbox Code Playgroud) 我使用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) mysql ×3
oracle ×2
postgresql ×2
sql ×2
sql-server ×2
archive ×1
database ×1
oracle10g ×1
oracle11g ×1
roles ×1
select ×1
tablespace ×1