mysql用户管理、常用语句、数据分备份恢复
切换数据库:
发布日期:2025-04-18 05:22:47
浏览次数:15
分类:精选文章
本文共 2588 字,大约阅读时间需要 8 分钟。
MySQL用户管理
创建用户并授权
在MySQL中创建用户并为其授予必要权限是数据库管理的基本操作之一。以下是详细的操作步骤:
指定登录IP
使用root用户登录 MySQL,执行以下命令创建并授权新用户:
grant all on *.* to 'user1'@'127.0.0.1' identified by '123456';
all表示所有操作(增删查改)。*.*表示所有库和表。user1为用户名。127.0.0.1为指定登录IP,可用%表示所有IP。
执行完成后,输出如下信息:
Query OK, 0 rows affected (0.00 sec)
验证用户登录:
mysql -uuser1 -h127.0.0.1 -p
输入密码后,应成功登录 MySQL。
指定登录socket
如果需要用户默认使用socket登录(如本地登录),重新授权用户:
grant all on *.* to 'user1'@localhost identified by '123456';
退出root用户后,使用 user1 用户登录:
mysql -uuser1 -p
此时,默认使用本地socket登录,无需指定IP。
针对具体的权限授权
根据需求,指定用户的权限。例如,授予 user2 用户在 db1 库中的特定权限:
grant SELECT, UPDATE, INSERT on db1.* to 'user2'@'192.168.159.132' identified by '123456';
SELECT, UPDATE, INSERT表示授予对应的操作权限。db1.*表示针对db1库中的所有表。192.168.159.132指定用户只能通过该IP登录。
执行完成后,输出如下信息:
Query OK, 0 rows affected (0.00 sec)
查看用户授权信息
查看当前用户的授权信息:
show grants;
查看指定用户的授权信息:
show grants for user1@127.0.0.1;
输出示例:
+--------------------------------------------------------------------------------------------------------------------+| Grants for user1@127.0.0.1 |+--------------------------------------------------------------------------------------------------------------------+| GRANT USAGE ON *.* TO 'user1'@'127.0.0.1' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' || GRANT SELECT, INSERT, UPDATE ON `db1`.* TO 'user1'@'127.0.0.1' |+--------------------------------------------------------------------------------------------------------------------+2 rows in set (0.00 sec)
更改授权
在实际应用中,当用户需要在多个IP上登录时,应分别执行授权命令。例如,将 user2 用户的授权扩展到 192.168.159.133:
grant SELECT, UPDATE, INSERT on db1.* to 'user2'@'192.168.159.133' identified by '123456';
验证用户权限:
show grants for user2@'192.168.159.133';
常用SQL语句
使用MySQL执行常用操作:
use db1;
- 查看库中表:
- 查看用户数量:
- 查看数据库用户:
- 创建表:
- 插入数据:
- 查询数据:
- 更新数据:
- 删除数据:
- 删除表:
show tables;
select count(*) from mysql.user;
select * from mysql.db where host like '%192.168.%' and db = 'db1';
create table t1 (id int(4), name char(40));
insert into db1.t1 values(1, 'abc');
select * from db1.t1;
update db1.t1 set name = 'aaa' where id = 1;
delete from db1.t1 where id = 1;
drop table t1;
MySQL数据库备份恢复
备份库
使用 mysqldump 创建备份:
mysqldump -uroot -p123456 mysql > /tmp/mysqlbak.sql
备份所有库:
mysqldump -uroot -p123456 -A > /tmp/mysqlbak_all.sql
恢复库:
mysql -uroot -p123456 < /tmp/mysqlbak.sql
备份表
备份指定表:
mysql -uroot -p123456 mysql user > /tmp/user.sql
只备份表结构:
mysqldump -uroot -p123456 -d mysql > /tmp/mysql_tb.sql
恢复表:
mysql -uroot -p123456 mysql < /tmp/user.sql
以上操作可根据实际需求调整,确保数据库安全和数据完整性。
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2026年06月06日 19时35分00秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
php文本框输入制定文本,php – 当用户没有向文本框输入任何内容时...
2023-03-01
PHP时间戳和日期相互转换操作总结
2023-03-01
php时间戳知识点,php 时间戳函数总结与示例
2023-03-01
php更新数据库失败,php – 无法更新MySQL数据库
2023-03-01
php机器人聊天对话框,基于AIML的PHP聊天机器人
2023-03-01
PHP查找数组中最大值与最小值
2023-03-01
php查最大值,在PHP数组中查找最大值
2023-03-01
php根据年月日计算年龄
2023-03-01
RabbitMQ - 单机部署(超详细)
2023-03-01
php检查注册,PHP检查注册的电子邮件地址是一个’school.edu’地址
2023-03-01
php模拟发送GET和POST请求
2023-03-01
RabbitMQ - 以 MQ 为例,手写一个 RPC 框架 demo
2023-03-01
php模板引擎smarty
2023-03-01
php正则表达式模式
2023-03-01
php正则表达式的特殊字符含义
2023-03-01
PHP正则表达式获取武汉市的实时pm2.5数据并邮件发送phpmailer
2023-03-01
RabbitMQ + JMeter组合,优化你的中间件处理方式!
2023-03-01
PHP水仙花问题解法之一
2023-03-01
php没有解析是怎么回事,linux下php文件没有被剖析怎么办?_后端开发
2023-03-01