当前位置: 首页> 娱乐> 八卦 > 深圳电商公司排名_营销方案案例范文通用_艾滋病多久可以查出来_优秀软文范例200字

深圳电商公司排名_营销方案案例范文通用_艾滋病多久可以查出来_优秀软文范例200字

时间:2025/7/14 7:39:16来源:https://blog.csdn.net/liyongjie/article/details/145528490 浏览次数:0次
深圳电商公司排名_营销方案案例范文通用_艾滋病多久可以查出来_优秀软文范例200字

mysql命令

启动和停止mysql服务

net start mysql

net stop mysql

查看mysql版本信息

mysql --version

或者进入数据库后使用:

select version();

连接mysql服务器

mysql -u username -p -h 192.168.19.164 -P 3306 -D database_name

mysql8在-p后面不能输入密码,回车后再输入密码,-P后面是端口号,可以省略,默认3306;-D可以省略,直接写数据库名称

例如:

mysql -u test1 -p -P 3306 testdb1

退出连接客户端

\q

或 exit 或quit

显示帮助

\h

或help

清除当前输入

\c

如果输入了错误的命令或想要取消当前输入,可以使用此命令

执行外部 SQL 文件

\. filename.sql

或者source filename.sql

例如:

\. /path/to/script.sql

source /path/to/script.sql

显示所有数据库

SHOW DATABASES;

选择数据库

USE database_name;

切换数据库

\u database_name

显示当前数据库

\s

或者 status

显示数据库配置变量

show variables like 'secure_file_priv';
 

显示当前数据库中的所有表

SHOW TABLES;

显示表结构

DESCRIBE table_name;

或者

SHOW COLUMNS FROM table_name;

将查询结果保存到文本文件

into outfile子句可以将查询结果导出到文本文件,虽然并不一定要是CSV格式,但大多数情况下我们都会选择这种格式。

要将MySQL中的数据写入到操作系统的文件中, 首先需要具有FILE权限。而且为了安全需要配置参数secure_file_priv,这个参数是限制MySQL可以写入文件的目录,如果为空,表示不限制:

show variables like 'secure_file_priv';
我们在普通的select语句最后添加into outfile ‘/path/file_name’;即可将查询结果写入文件,这里的path就是参数secure_file_priv定义的目录(文件不能已存在):

select * from user_t where user_name like 'Li%' into outfile '/opt/mysql8.0.35/mysql-files/user.txt';
 

设置/查看变量

设置单个变量

SET @myVariable = 'some value';

设置会话级别变量

SET SESSION sort_buffer_size = 102400;

查看会话级别的变量值

SELECT @@SESSION.sort_buffer_size;

查看所有会话级别的变量值

SHOW SESSION VARIABLES;

设置全局变量

SET GLOBAL max_connections = 1000;

查看全局变量值

SELECT @@GLOBAL.max_connections;

查看指定的全局变量值

SHOW GLOBAL VARIABLES LIKE 'max_connections';

查看所有全局变量值

SHOW GLOBAL VARIABLES;

在启动MySQL时设置变量

可以在MySQL服务器的配置文件(如my.cnf或my.ini,取决于操作系统)中设置全局变量。例如:

[mysqld]
max_connections = 1000

修改配置文件后,需要重启MySQL服务来使更改生效。

查看数据库支持的字符集

show charset;

查看数据库支持的字符集校验规则

show collation;

查看数据库创建语句

show create database + 数据库名;

查看mysql连接情况

show processlist;

数据库

创建数据库

语法:CREATE DATABASE 数据库名 [OPTIONS];      

例如:

CREATE DATABASE mydb1 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;   

注意:mysql中database和schema是一个概念,创建一个schema就是创建一个数据库,因此创建一个数据库可以改为:CREATE SCHEMA 数据库名 [OPTIONS];

修改数据库

语法:

alter database + 数据库名 + [alter_spacification] [alter_spacification]...;

删除数据库

DROP DATABASE database_name;

用户与角色

用户与角色差异:

用户可以设置密码,角色不能

用户可以登录数据库,角色不能

创建用户语法

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

参数说明:
'username':要创建的用户名。

'host':允许用户连接的主机。可以是以下值:

'localhost':只允许从本地连接。

'%':允许从任何主机连接。

具体的 IP 地址或域名:如 '192.168.1.100' 或 'example.com'。

创建用户时,如果没有指定host,默认是%

'password':用户的密码。
 

示例
创建一个只能从本地连接的用户
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';

创建一个可以从任何主机连接的用户
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';

创建一个只能从特定 IP 地址连接的用户
CREATE USER 'myuser'@'192.168.1.100' IDENTIFIED BY 'mypassword';

创建一个无密码的用户
CREATE USER 'myuser'@'localhost' IDENTIFIED BY '';

创建角色语法

与创建用户语法类似

CREATE ROLE 'roloe_name'[@'host_name'] [, 'roloe_name'[@'host_name']] ...;

host_name可以省略,如果省略host_name,则默认是%

一次性创建多个角色
CREATE ROLE 'manager','stocker','developer';

激活角色

MySQL 中创建了角色之后,默认是没有激活的,也就是不能用的,必须要 手动激活 以后用户才能拥有该角色对应的权限

激活角色有两种方式:

方式一:使用 SET DEFAULT ROLE 命令激活角色
给指定用户激活已拥有的角色权限,语法如下:

SET DEFAULT ROLE role TO user [,user ...];

方式二:将 activate_all_roles_on_login 设置为 ON
在 MySQL 中有一个系统变量 activate_all_roles_on_login 可设置对所有角色激活,在默认情况下是 OFF 关闭的状态

SET GLOBAL activate_all_roles_on_login = ON;
 

设置强制角色

强制角色是给每个创建账户的默认角色,不需要手动设置,强制角色无法被 REVOKE 和 DROP

方式一:服务启动前设置
在 MySQL 的配置文件 my.cnf 中进行设置
[mysqld]
mandatory_roles = 'role1,role2@localhost,role3@%'

方式二:运行时设置
语法如下:
# 重启系统后仍然有效
SET PERSIST mandatory_roles = 'role1,role2@localhost,role3@%';

# 系统重启后失效
SET GLOBAL mandatory_roles = 'role1,role2@localhost,role3@%';

注意:

创建角色不能指定密码,这点和创建用户不同

角色不能用来登录数据库

创建一个角色,默认创建一个同名用户

角色也在mysql.user这个表中存储

修改用户

mysql不支持直接修改用户名和用户的host

修改用户密码:

ALTER USER 'username'@'hostname' IDENTIFIED BY 'new_password';

SET PASSWORD FOR 'username'@'hostname' = 'new_password';

SET PASSWORD FOR user_name = 'new_password';

修改用户密码过期策略

可以设置用户密码立即过期或指定过期时间。
语法:
设置密码立即过期:
ALTER USER 'username'@'host' PASSWORD EXPIRE;

设置密码永不过期:
ALTER USER 'username'@'host' PASSWORD EXPIRE NEVER;

设置密码过期时间(天数):
ALTER USER 'username'@'host' PASSWORD EXPIRE INTERVAL n DAY;

示例:
-- 设置密码立即过期
ALTER USER 'myuser'@'localhost' PASSWORD EXPIRE;

-- 设置密码永不过期
ALTER USER 'myuser'@'localhost' PASSWORD EXPIRE NEVER;

-- 设置密码 90 天后过期
ALTER USER 'myuser'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;

修改用户后要刷新权限:

FLUSH PRIVILEGES;

删除用户

drop user user_name

锁定/解锁用户

锁定用户:

ALTER USER 'username'@'host' ACCOUNT LOCK;

例如:alter user test1 account lock;

解锁用户:

ALTER USER 'username'@'host' ACCOUNT UNLOCK;

例如:alter user test1 account unlock;

授权与取消授权

授权语法

GRANT privilege_type ON database_name.table_name TO 'username'@'host'  [with grant option];

参数说明:

  • privilege_type:权限类型,如 SELECTINSERTUPDATE 等。可以使用 ALL PRIVILEGES 授予所有权限。

  • database_name.table_name:指定数据库和表的名称。可以使用 *.* 表示所有数据库和表,或 database_name.* 表示指定数据库的所有表。

  • 'username'@'host':指定用户名和主机。主机可以是 localhost%(表示任意主机)或具体 IP 地址。

常用权限类型

权限类型说明
ALL PRIVILEGES授予所有权限(除了 GRANT OPTION)。
SELECT允许查询数据。
INSERT允许插入数据。
UPDATE允许更新数据。
DELETE允许删除数据。
CREATE允许创建数据库或表。
DROP允许删除数据库或表。
ALTER允许修改表结构。
GRANT OPTION允许用户将自己的权限授予其他用户。
EXECUTE允许执行存储过程或函数。
INDEX允许创建或删除索引。

授权示例
示例 1:授予用户对所有数据库的所有权限
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'localhost';

示例 2:授予用户对特定数据库的所有权限
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';

示例 3:授予用户对特定表的查询权限
GRANT SELECT ON mydatabase.mytable TO 'myuser'@'localhost';

示例 4:授予用户对特定表的插入和更新权限
GRANT INSERT, UPDATE ON mydatabase.mytable TO 'myuser'@'localhost';

示例 5:授予用户对特定数据库的创建和删除权限
GRANT CREATE, DROP ON mydatabase.* TO 'myuser'@'localhost';

示例 6:授予用户对所有数据库的查询权限,并允许其将权限授予其他用户
GRANT SELECT ON *.* TO 'myuser'@'localhost' WITH GRANT OPTION;

4. 刷新权限
在授权后,需要刷新权限以使更改生效:
FLUSH PRIVILEGES;

说明:

权限范围:权限可以精确到数据库、表甚至列级别。
WITH GRANT OPTION:授予用户 GRANT OPTION 权限时需谨慎,因为该用户可以将自己的权限授予其他用户。

创建用户后该用户默认会有USAGE权限,该权限只能用于数据库登录,不能执行任何操作。

将某个或多个角色授权给用户

GRANT role1 [,role2 ...] TO user1 [,user2 ...];
 

查看用户/角色权限

SHOW GRANTS FOR 'yourusername'@'hostname';

撤销授权语法

REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';

示例:
撤销用户 'myuser'@'localhost' 对 mydatabase.mytable 表的 SELECT 权限:
REVOKE SELECT ON mydatabase.mytable FROM 'myuser'@'localhost';

撤销用户的角色,即把某个角色从用户中取消授权:

REVOKE 'role_name'@'%' FROM 'user_name'@'%';

例如:revoke role_name from user_name


 

mysql默认数据库(schema)介绍

mysql有4个默认的数据库:information_schema,performance_schema,mysql,sys,其功能介绍如下:

information_schema

提供元数据信息,如数据库、表、列、索引等

这是一个元数据数据库,存储了关于MySQL服务器的所有数据库、表、列、索引和权限等信息。它通过查询系统表来提供这些信息,而不是实际存储数据。information_schema提供了访问数据库元数据的方式,包括数据库名、表名、列的数据类型、访问权限等。

常用表:

  • TABLES:存储所有表的信息。

  • COLUMNS:存储所有列的信息。

  • SCHEMATA:存储所有数据库的信息。

  • STATISTICS:存储索引的统计信息。

  • USER_PRIVILEGES:存储用户的权限信息。

  • TABLE_PRIVILEGES:存储表授权信息

performance_schema

提供性能监控数据,如查询执行时间、锁等待、线程状态等

这个数据库用于性能监控和性能优化,提供了大量的性能相关的表供查询和分析。它可以用于监控MySQL服务器的各种性能指标,如查询性能、锁等待、I/O操作等,以便进行性能优化和故障排查‌。

常用表:

  • events_waits_current:当前正在等待的事件。

  • events_statements_summary_by_digest:按 SQL 语句摘要统计的性能数据。

  • file_summary_by_event_name:文件 I/O 操作的统计信息。

  • mutex_instances:互斥锁的信息。

mysql

是mysql默认的数据库,登录mysql数据库时,如果没有指定登录的数据库,就默认登录到这个数据库

存储了用户账户信息、权限配置、密码和其他全局级别的控制信息。通过该数据库,可以管理和配置MySQL服务器的各种参数和设置。它包含了用户权限、数据库权限、表权限等信息‌。

常用表:

  • user:存储用户账户和全局权限。

  • db:存储数据库级别的权限。

  • tables_priv:存储表级别的权限。

  • columns_priv:存储列级别的权限。

  • time_zone:存储时区信息。

sys

提供基于 performance_schema 的高级性能分析工具和视图

这是MySQL8.0版本引入的新数据库,提供了一系列视图和存储过程,用于简化和优化对MySQL服务器的监控和管理。通过sys数据库,可以方便地获取各种数据库对象的信息,并进行性能分析和诊断。

常用视图:

  • schema_table_statistics:按表和模式统计的性能数据。

  • statement_analysis:SQL 语句的性能分析。

  • user_summary:按用户统计的性能数据。

备份与恢复

备份

语法:

mysqldump -P + 端口号 + -u 用户名+ -h 主机名 + -p + 密码 + -B + 数据库名 > 新创建的文件名

关键字:深圳电商公司排名_营销方案案例范文通用_艾滋病多久可以查出来_优秀软文范例200字

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: