织梦做的网站_别人提交给我留的言我去哪里看,ui设计职业培训机构,信用中国 网站 支持建设,网站的二级导航怎么做文章目录 MySQL 数据库管理与操作指南1. 忘记 MySQL 密码的处理方法2. MySQL 数据库备份与恢复2.1 数据库备份2.2 数据库恢复 3. MySQL 用户与权限管理3.1 创建用户与授权3.2 查看所有用户3.3 删除用户 4. 关闭 GTID 复制模式5. 查看数据表的存储引擎5.1 查看 MySQL 支持的存储… 文章目录 MySQL 数据库管理与操作指南1. 忘记 MySQL 密码的处理方法2. MySQL 数据库备份与恢复2.1 数据库备份2.2 数据库恢复 3. MySQL 用户与权限管理3.1 创建用户与授权3.2 查看所有用户3.3 删除用户 4. 关闭 GTID 复制模式5. 查看数据表的存储引擎5.1 查看 MySQL 支持的存储引擎5.2 查看当前默认存储引擎5.3 查看具体表的存储引擎5.4 查看所有表的状态 6. 数据库操作命令6.1 删除表6.2 MySQL 中 DELETE 与 TRUNCATE 的区别 7. 查看单个数据库的大小8. 网络延迟、磁盘 I/O 与 CPU 优化9. 支持用户远程连接 MySQL 数据库 MySQL 数据库管理与操作指南
在日常的数据库管理过程中我们经常需要执行各种操作比如忘记密码后的应急处理、数据库备份与恢复、用户权限管理、数据库引擎查看与切换等。本文将对这些常见操作进行整理和说明便于大家参考和学习。
1. 忘记 MySQL 密码的处理方法
当忘记 MySQL 的 root 密码时可以按照以下步骤进行重置 打开 MySQL 配置文件 /etc/my.cnf在 [mysqld] 部分添加 skip-grant-tables然后重启数据库。 systemctl restart mysqld使用以下命令进入 MySQL 并修改 root 密码 set password for rootlocalhostpassword(newpassword);修改完成后记得将 skip-grant-tables 删除并重启数据库恢复正常模式。
2. MySQL 数据库备份与恢复
2.1 数据库备份
可以使用 mysqldump 工具备份数据库并将备份文件压缩
/usr/local/mysql/bin/mysqldump -uroot -ppassword database_name | gzip backup.sql.gz2.2 数据库恢复
恢复备份数据时首先解压备份文件然后导入到数据库
gunzip backup.sql.gz | mysql -u root -ppassword database_name3. MySQL 用户与权限管理
3.1 创建用户与授权
CREATE USER username% IDENTIFIED BY password;
GRANT ALL PRIVILEGES ON database_name.* TO username%;
FLUSH PRIVILEGES;3.2 查看所有用户
SELECT DISTINCT CONCAT(User: ,user,,host,;) AS query FROM mysql.user;3.3 删除用户
DROP USER usernamelocalhost;4. 关闭 GTID 复制模式
在某些情况下可能需要关闭 MySQL 的 GTID 复制模式步骤如下
SET GLOBAL GTID_MODE ON_PERMISSIVE;
SET GLOBAL GTID_MODE OFF_PERMISSIVE;
SET GLOBAL GTID_MODE OFF;
SET global.enforce_gtid_consistency OFF;5. 查看数据表的存储引擎
5.1 查看 MySQL 支持的存储引擎
SHOW ENGINES;5.2 查看当前默认存储引擎
SHOW VARIABLES LIKE %storage_engine%;5.3 查看具体表的存储引擎
SHOW CREATE TABLE table_name;5.4 查看所有表的状态
SHOW TABLE STATUS;6. 数据库操作命令
6.1 删除表
删除表的方法有三种操作强度从强到弱依次为 DROP TABLE直接删除表数据不可恢复。 DROP TABLE table_name;TRUNCATE TABLE删除表中所有数据不可与 WHERE 一起使用且不可回滚。 TRUNCATE TABLE table_name;DELETE FROM删除表中指定行的数据可回滚。 DELETE FROM table_name WHERE condition;举例 delect from slams_app where id 31 and id 208;这是删除31条到208条包括31和208
6.2 MySQL 中 DELETE 与 TRUNCATE 的区别
事务支持TRUNCATE 不支持事务回滚而 DELETE 支持。重置自增 IDTRUNCATE 会重置自增 ID而 DELETE 不会。触发器TRUNCATE 不会触发 DELETE 触发器而 DELETE 会。执行效率TRUNCATE 比 DELETE 更高效尤其在删除大表数据时。
7. 查看单个数据库的大小
SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),MB) AS data_size, CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,2),MB) AS max_data_size, CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),MB) AS data_free, CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),MB) AS index_size
FROM information_schema.tables
WHERE table_schema database_name;8. 网络延迟、磁盘 I/O 与 CPU 优化
在数据库管理中除了 SQL 语句的优化外还需考虑网络延迟、磁盘 I/O 与 CPU 的影响。通过监控这些系统指标可以有效提高数据库的性能。
9. 支持用户远程连接 MySQL 数据库
为了让 MySQL 用户可以从远程主机连接数据库需要授予相应的权限
GRANT ALL PRIVILEGES ON *.* TO username% IDENTIFIED BY password WITH GRANT OPTION;
FLUSH PRIVILEGES;username%%表示允许从任何远程主机连接。如果只允许特定主机连接可以将 % 替换为特定主机的 IP 地址。WITH GRANT OPTION允许该用户将权限授予其他用户。
例如
GRANT ALL PRIVILEGES ON *.* TO cbcioscar% IDENTIFIED BY Cbcioscar!# WITH GRANT OPTION;
FLUSH PRIVILEGES;通过上述命令cbcioscar 用户可以从任何远程主机连接到 MySQL 数据库并且拥有所有数据库的所有权限。