mysql账号增删改、数据导入导出命令举例
2016-04-06 21:05
555 查看
以下举例基于mysql中已建好数据库如下:
a,school且其包括t_student、t_teacher表
b,company且其包括t_staff、t_leader
一,mysql账号增删改查
1)创建account1账号并设置密码,同时设置其可远程和本机访问school和company数据中所有表并拥有增删改查等所有权限。
a,
想要本机服务器能连接到,必须进行如下两步骤:在user表中增加两条记录--------------------------A
mysql>CREATE USER 'account1'@'localhost' IDENTIFIED BY 'mypasswd';
mysql>CREATE USER 'account1'@'127.0.0.1' IDENTIFIED BY 'mypasswd';
若只想让外部ip访问到,其中%代表通配所有外部ip:在user表中增加一条记录--------------------------B
mysql>CREATE USER 'account1'@'%' IDENTIFIED BY 'mypasswd';
此情况执行A+B。
b,将所有数据库的所有操作权限赋值给account1用户,且外部访问ip无限制
mysql>GRANT ALL PRIVILEGES ON *.* TOaccount1@"%" IDENTIFIED BY "mypasswd";
mysql>flush privileges;
或者
mysql>GRANT ALL PRIVILEGES ON school.* TOaccount1@"%" IDENTIFIED BY "mypasswd";
mysql>GRANT ALL PRIVILEGES ON company.* TOaccount1@"%"
IDENTIFIED BY "mypasswd";
mysql>flush privileges;
2) 创建account2账号并设置密码,同时设置其只可远程和本机访问school数据中所有表并只拥有增改查权限。
a,
想要本机服务器能连接到,必须进行如下两步骤:在user表中增加两条记录--------------------------A
mysql>CREATE USER 'account2'@'localhost' IDENTIFIED BY 'mypasswd';
mysql>CREATE USER 'account2'@'127.0.0.1' IDENTIFIED BY 'mypasswd';
若只想让外部ip访问到,其中%代表通配所有外部ip:在user表中增加一条记录--------------------------B
mysql>CREATE USER 'account2'@'%' IDENTIFIED BY 'mypasswd';
此情况执行A+B。
b,将school数据库的增改查操作权限赋值给account2用户,且外部访问ip无限制
mysql>GRANT select,update,insert PRIVILEGES ON school.* TOaccount1@"%" IDENTIFIED BY "mypasswd";
mysql>flush privileges;
3)用户的删改查
a,查看account2用户权限
mysql>show grants for 'account2'@'%';
或
mysql>select *from mysql.user where user='account2';
b,修改account2用户密码
mysql>update user set password=password('new_password') where user='account2';
mysql>flush privileges;
或
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
注意:如果root密码忘记或者丢失,则先杀掉mysqld的相关进程然后
#mysqld_safe --skip-grant-tables &
#mysq
4000
l -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;
c,删除account2用户
mysql>delete from mysql.user where user = 'account2';
二,mysql数据导出导入
a,导出:
1)导出school数据库的数据到(/home/file/school.sql)
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
#cd /home/file
#mysqldump -uroot -pmypasswd school > school.sql
2)只导出school数据库的表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
#mysqldump -uroot -p -d school > school.sql
3)导出school数据库中t_student表数据
#mysqldump -uroot -pmypasswd school t_student > /home/file/t_access_log.sql
4)导出school数据库中t_student表的部分数据(年龄大于16小于18)
#mysqldump -uroot -pmypasswd school t_student --where="age>'16' and age<'18'" > /home/t_student.sql
b,导入:
mysql>create database school;(进入mysql命令行界面建立数据库school)
1)设置编码为utf8,导入school.sql文件到新建立的school数据库
mysql>use school;
mysql>set names utf8;
mysql>source /home/file/school.sql
2)导入school.sql文件到新建立的school数据库
#mysql -uroot -p school < /home/file/school.sql(回车输入密码即可)
a,school且其包括t_student、t_teacher表
b,company且其包括t_staff、t_leader
一,mysql账号增删改查
1)创建account1账号并设置密码,同时设置其可远程和本机访问school和company数据中所有表并拥有增删改查等所有权限。
a,
想要本机服务器能连接到,必须进行如下两步骤:在user表中增加两条记录--------------------------A
mysql>CREATE USER 'account1'@'localhost' IDENTIFIED BY 'mypasswd';
mysql>CREATE USER 'account1'@'127.0.0.1' IDENTIFIED BY 'mypasswd';
若只想让外部ip访问到,其中%代表通配所有外部ip:在user表中增加一条记录--------------------------B
mysql>CREATE USER 'account1'@'%' IDENTIFIED BY 'mypasswd';
此情况执行A+B。
b,将所有数据库的所有操作权限赋值给account1用户,且外部访问ip无限制
mysql>GRANT ALL PRIVILEGES ON *.* TOaccount1@"%" IDENTIFIED BY "mypasswd";
mysql>flush privileges;
或者
mysql>GRANT ALL PRIVILEGES ON school.* TOaccount1@"%" IDENTIFIED BY "mypasswd";
mysql>GRANT ALL PRIVILEGES ON company.* TOaccount1@"%"
IDENTIFIED BY "mypasswd";
mysql>flush privileges;
2) 创建account2账号并设置密码,同时设置其只可远程和本机访问school数据中所有表并只拥有增改查权限。
a,
想要本机服务器能连接到,必须进行如下两步骤:在user表中增加两条记录--------------------------A
mysql>CREATE USER 'account2'@'localhost' IDENTIFIED BY 'mypasswd';
mysql>CREATE USER 'account2'@'127.0.0.1' IDENTIFIED BY 'mypasswd';
若只想让外部ip访问到,其中%代表通配所有外部ip:在user表中增加一条记录--------------------------B
mysql>CREATE USER 'account2'@'%' IDENTIFIED BY 'mypasswd';
此情况执行A+B。
b,将school数据库的增改查操作权限赋值给account2用户,且外部访问ip无限制
mysql>GRANT select,update,insert PRIVILEGES ON school.* TOaccount1@"%" IDENTIFIED BY "mypasswd";
mysql>flush privileges;
3)用户的删改查
a,查看account2用户权限
mysql>show grants for 'account2'@'%';
或
mysql>select *from mysql.user where user='account2';
b,修改account2用户密码
mysql>update user set password=password('new_password') where user='account2';
mysql>flush privileges;
或
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
注意:如果root密码忘记或者丢失,则先杀掉mysqld的相关进程然后
#mysqld_safe --skip-grant-tables &
#mysq
4000
l -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;
c,删除account2用户
mysql>delete from mysql.user where user = 'account2';
二,mysql数据导出导入
a,导出:
1)导出school数据库的数据到(/home/file/school.sql)
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
#cd /home/file
#mysqldump -uroot -pmypasswd school > school.sql
2)只导出school数据库的表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
#mysqldump -uroot -p -d school > school.sql
3)导出school数据库中t_student表数据
#mysqldump -uroot -pmypasswd school t_student > /home/file/t_access_log.sql
4)导出school数据库中t_student表的部分数据(年龄大于16小于18)
#mysqldump -uroot -pmypasswd school t_student --where="age>'16' and age<'18'" > /home/t_student.sql
b,导入:
mysql>create database school;(进入mysql命令行界面建立数据库school)
1)设置编码为utf8,导入school.sql文件到新建立的school数据库
mysql>use school;
mysql>set names utf8;
mysql>source /home/file/school.sql
2)导入school.sql文件到新建立的school数据库
#mysql -uroot -p school < /home/file/school.sql(回车输入密码即可)
相关文章推荐
- 5、Mysql的用户权限管理--查看,授权,回收
- SQL Server转换成MySQL
- mysql count(*),count(1),count(字段)的区别
- mysql删除同表重复记录保存id最小的记录
- 10分钟学会理解和解决MySQL乱码问题
- 由 B-/B+ 树看 MySQL 索引结构
- 彻底删除MySQL及恢复MySQL数据
- mysql数据库权限
- utf8mb4解决四字节字符保存到mysql不报错的问题
- 创建MySQL从库
- 如何从mysql备份中提取单张表数据
- mysql max_allowed_packet 查询和修改
- MySql可视化工具MySQL Workbench使用教程
- MySQL Workbench 如何导入导出sql表
- yum安装MySQL5.7的相关总结
- mysql常用语句
- mysql case....when条件
- MySql的like语句中的通配符:百分号、下划线和escape
- mysql两大存储引擎的区别与选择
- mysql计算时间差函数