Mysql导入导出与用户授权相关sql

本文详细介绍了如何进行MySQL的数据导入与导出,并涵盖了用户创建及权限分配的相关SQL操作,帮助读者掌握数据库管理的基础技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySql 导入

-- 选择数据库
   mysql>use abc;

-- 设置数据库编码
   mysql>set names utf8;

-- 导入数据(注意sql文件的路径)
   mysql>source /home/abc/abc.sql;

MySql 导出

执行: mysqldump命令,如果/usr/bin目录下没有该命令则需要进入mysql安装目录bin下面执行

导出该库全部全部表结构与表数据
#语法: mysqldump -u 用户名-p 数据库名  --default-character-set=utf8 > 导出路径/导出文件名

#示例: 用root用户以utf8编码格式导出test库到/tmp目录下,导出文件名为test.sql
   mysqldump -u root -p test --default-character-set=utf8 >/tmp/test.sql

只导出数据库函数与过程
#语法: mysqldump -u 用户名 -p -ntd -R  数据库名 >  导出路径/导出文件名
#     其中的 -ntd 是表示导出存储过程;-R是表示导出函数

#示例: 用root用户导出test库下的存储过程函数到/tmp目录下,导出文件名为testfun.sql
   mysqldump -u root -p -ntd -R  test >/tmp/testfun.sql

导出指定表的结构与数据(单表)
#语法: mysqldump -u 用户名 -p 数据库名 表名 > 导出路径/文件名
#示例: 导出test库中的user表
   mysqldump -u root -p test user > /tmp/user.sql


导出指定表的结构与数据(多表)
#语法: mysqldump -u 用户名 -p 数据库名 表1 表2 表3> 文件名
#  多张表名用空格隔开
#示例: 导出test库中的user,user_one表
   mysqldump -u root -p test user user_one > /tmp/user2.sql

只导出事件
#示例
    mysqldump -E -ndt test -u root -p > /tmp/my_event.sql

用户的创建及授权

查看当前所有用户
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

查看某个用户的全部权限
mysql> SHOW GRANTS FOR '用户名';

创建针对所有库并且可从任意ip访问的用户
-- 示例:创建commentUser用户,密码:emans_My0624
mysql> GRANT ALL PRIVILEGES ON *.* TO commentUser@'%' IDENTIFIED BY 'emans_My0624' WITH GRANT OPTION;

刷新权限
mysql> FLUSH PRIVILEGES;

授权SELECT,INSERT,UPDATE,CREATE权限 关于my_test库下user表给test_account用户
-- 该条语句同事创建了test_account用户
mysql> GRANT  SELECT,INSERT,UPDATE,CREATE ON my_test.user to test_account@'%' IDENTIFIED BY 'emans_My0624';

收回test_account用户关于my_test.user表的全部权限
mysql> REVOKE ALL PRIVILEGES on my_test.user from test_account;

删除账户
mysql> DELETE FROM mysql.user WHERE user ='test_account';


修改密码
-- 5.7版本的语法:  
mysql> update mysql.user set authentication_string=password('新密码') where user='用户名' ;
-- 示例:
update mysql.user set authentication_string=password('emans_My0624123') where user='test_account' ;

-- 低版本的语法:
mysql> UPDATE mysql.user SET password=PASSWORD("新密码") WHERE user='用户名';
-- 示例:
mysql> UPDATE mysql.user SET password=PASSWORD("emans_My0624123") WHERE user='test_account';	
MySql批量删除当前库下表名符合条件的表,先拼接sql语句再执行
  
Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_schema='数据库名' and table_name LIKE '%表名关键字%';
MySql批量修改当前库下表名表名为大写的表,替换为小写
Select CONCAT( 'RENAME TABLE ', table_name, ' to ' ,LOWER(table_name),';') 
FROM information_schema.tables Where table_schema='数据库名' and table_name LIKE '表名关键字%';

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值