在step 5.7 -> 8.0.23中将mysql从5.6 -> 5.7 -> 8.0.23升级时,我得到了一个建议: The following objects use the utf8mb3 character set. It is recommended to convert them to use utf8mb4 instead, for improved Unicode support.
More Information:
https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.html
我在mysql 5.1中创建了用户,并给出了所有特权,详细信息如下:
mysql> show GRANTS FOR test;
+-------------------------------------------------------------+
| Grants for test@% |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'tes
我有一个MySQL用户,我们称他为Tom。Tom具有全局CREATE和SHOW DATABASES权限,并具有'GRANT‘选项。每个数据库都会为用户分配SELECT、INSERT、UPDATE和DELETE权限。然而,在Tom创建了一个新的数据库之后,他不能设置他的SELECT等特权,尽管他有一个全局的GRANT选项。错误是(可预测的):
CREATE DATABASE `my_new_db`; -- this is fine
GRANT SELECT , INSERT , UPDATE , DELETE ON `my_new_db` . * TO 'Tom'@
我正尝试在一个表上设置触发器,以便将一行的内容复制到另一个表中。
我有以下几点:
CREATE TRIGGER story_deleted BEFORE DELETE ON stories
FOR EACH ROW BEGIN
INSERT INTO stories_backup SET story_id = OLD.story_id;
END;
不过,这将返回以下错误:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server v
那么,应该为mysql用户设置哪些权限,该用户将被用作网站的“主”用户?
我认为应该为所使用的数据库设置数据和结构(见下文)。但是我还需要添加管理权限吗?如果您拥有一台web服务器,并将权限授予一个客户端,例如,希望您为他们托管一个网站,并赋予他们在自己的数据库上使用phpmyadmin的权限,这是否会有所不同。
数据
SELECT
INSERT
UPDATE
DELETE
FILE
结构
CREATE
ALTER
INDEX
DROP
CREATE TEMPORARY TABLES
SHOW VIEW
CREATE ROUTINE
ALTER ROUTINE
EXECUTE
CREATE
我有一些孤儿表,我无法删除在谷歌管理的MySQL实例。
https://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting-datadict.html描述了如何使用查询:SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE '%#sql%';找到它们。
并返回以下结果
TABLE_ID, NAME, FLAG, N_COLS, SPACE, FILE_FORMAT, ROW_FORMAT, ZIP_PAGE_SIZE, SPACE_TYPE
我最近尝试了很多web开发应用,比如Drupal,Moodle,Efront和Elgg。为了提高安全性,我使用Parallels在Mac OS X 10.4中的虚拟XP机器上的XAMPP安装程序上运行测试服务器。我认为这应该是非常安全的,对吧?
在安装像Elgg这样的软件时,它会要求我在MySQL服务器中创建一个用户,以便它可以访问数据库。我想知道我创建新用户的方法是否正确,以及我应该授予该用户什么权限。
目前,我通过进入PHPMyAdmin、MySQL数据库、用户表并插入新行来创建新用户。这是正确的吗?由于某些原因,它并不总是有效的。
附言-我应该为这一切而烦恼,还是让每个软件都使用我的根账