mysql 的全文索引的介绍和使用 MySQL
MySQL 的全文索引(Full-Text Index)是一种特殊的索引类型,它允许对文本列进行全文搜索。与普通索引只能用于精确匹配不同,全文索引可以根据文本列中的关键词进行模糊搜索,通常用于实现搜索引擎、博客、论坛等网站的搜索功能。
SQL注入 sqlmap 工具 MySQL
SQLmap 是一款开源的自动化 SQL 注入工具,可以检测并利用 Web 应用程序中的 SQL 注入漏洞。SQLmap 具有丰富的功能和选项,包括自动识别数据库类型、获取数据库信息、获取数据库表和列、获取数据库数据、提取文件系统信息等。
SQL注入 into outfile MySQL
into outfile 是一种常见的 SQL 注入攻击方式之一,攻击者通过这种方式将数据库中的数据导出到一个文件中,从而获取敏感信息。
SQL注入 MySQL
SQL注入漏洞是一种常见的安全漏洞,它允许攻击者利用应用程序中存在的漏洞,向数据库服务器发送恶意SQL查询,以获取敏感信息或修改数据库中的数据。
SQL注入攻击利用应用程序未正确验证或转义用户输入,导致攻击者可以将恶意SQL代码注入到应用程序中的SQL查询中,从而执行不受限制的查询,访问敏感数据或修改数据库内容。
mysql使用group by 分组后SELECT list is not in GROUP BY clause and contains nonaggre MySQL
原因:使用GROUP BY 语句违背了sql_mode=only_full_group_by。因为mysql版本5.7之后默认的模式是ONLY_FULL_GROUP_BY。
MySQL索引优化,使主键ID是连续不间断的 MySQL
解决删除数据后主键不连续问题,导致出随机数据时没有返回
一、去除原有的主键,和自增,并建立唯一索引
ALTER TABLE `demo`.`usa_city_trans`
MODIFY COLUMN `id` int(11) NOT NULL FIRST,
DROP PRIMARY KEY,
ADD UNIQUE INDEX `id`(`id`);
二、添加一个新的字段来当主键索引
ALTER TABLE `demo`.`usa_city_trans`
ADD COLUMN `guid` int(11) NOT NULL AUTO_INCREMENT AFTER `id`,
ADD PRIMARY KEY (`guid`);
三、删除id,并修改guid为id
ALTER TABLE `demo`.`usa_city_trans`
DROP COLUMN `id`,
CHANGE COLUMN `guid` `id` int(11) NOT NULL AUTO_INCREMENT FIRST,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`id`) USING BTREE;
问题:自增必须绑定到第一主键索引上,第二主键索引或不建主键索引自增绑定不上去
MySQL开启各种日志 MySQL
general_log支持热开启,热关闭。开启general_log会记录所有操作mysql命令,所以会产生大量文件,一般不开启。相关参数general_log、log_output、general_log_file
MySQL创建一个超级管理员,并启动远程连接 MySQL
要允许 root 用户进行远程连接,您需要执行以下步骤:
确保 MySQL 服务器已经安装并正在运行。
登录到 MySQL 服务器上。
使用 root 用户或具有管理员权限的用户登录 MySQL。
在登录后,您需要执行以下 SQL 命令来允许 root 用户进行远程连接:
mysql>create user 'myroot'@'localhost' identified by 'myroot';
mysql>grant all privileges on *.* to 'myroot'@'localhost';
ok,可以拿myroot在本地登录管理,但是要在远程管理还不行。接下来解决在远程登录管理的问题。
mysql>create user 'myroot'@'%' identified by 'myroot';
mysql>grant all privileges on *.* to 'myroot'@'%';
还有,mysql.user密码加密的方式是使用PASSWORD进行的。
刷新MySQL权限以确保更改生效:
FLUSH PRIVILEGES;
删除用户
mysql>revoke all on *.* from sss@localhost ;
msyql>Delete from user where user = "user_name" and host = "host_name" ;
修改用户远程连接的权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的密码' WITH GRANT OPTION;
这会授予 root 用户在所有主机上的所有数据库和所有表上的所有权限。'%' 表示任何主机都可以连接。确保将 您的密码 替换为您想要设置的密码。
然后,运行以下命令以使更改生效:
FLUSH PRIVILEGES;
最后,退出 MySQL 客户端并重新启动 MySQL 服务。
请注意,开放 root 用户的远程访问权限可能存在安全风险。最佳做法是创建一个专用的、有限权限的用户,并仅授予其所需的权限。