mysql 常用命令
目录
建库
create database name; 创建数据库
drop database name; 直接删除数据库,不提醒
mysqladmin drop databasename; 删除数据库前,有提示。
mysql>show databases; 显示所有数据库
用户
新建用户
格式:create user "username"@"host" identified by "password";
1.mysql->create user 'test'@'localhost' identified by '123';
2.mysql->create user 'test'@'192.168.7.22' identified by '123';
3.mysql->create user 'test'@'%' identified by '123';
说明:host="localhost"为本地登录用户,host="ip"为ip地址登录,host="%"所有用户
删除用户
drop user 'username'@'host';
查看现有用户:
mysql> select host,user,authentication_string from mysql.user;
修改密码:
shell>mysql -u root -p
mysql> update user set password=password(123456) where user=’root’;
mysql> flush privileges //刷新数据库
授权
格式:grant privileges on databasename.tablename to 'username'@'host' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
(1)GRANT命令说明:
priveleges(权限列表),可以是all priveleges, 表示所有权限,也可以是select, insert, update, delete, create,drop等权限,多个权限的名词,相互之间用逗号分开。
on用来指定权限针对哪些库和表。
*.* 中前面的*号用来指定数据库名,后面的*号用来指定表名。
to 'username'@'host' :@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方。注意:这里%有的版本不包括本地,这个和版本有关系,遇到这个问题再加一个localhost的用户就可以了。
identified by指定用户的登录密码,该项可以省略。
WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。
(2)删除授权:
mysql> revoke all privileges on *.* from root@”%”;
mysql> delete from user where user=”root” and host=”%”;
mysql> flush privileges;
2.授权原则说明:
a、只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。
b、创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。
c、初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。
d、为每个用户设置满足密码复杂度的密码。
e、定期清理不需要的用户。回收权限或者删除用户。
其它
shell>mysql -u root -p
mysql>use databasename; 选择数据库
mysql>describe tablename; 表的详细描述
mysql>select version(),current_date; 显示当前mysql版本和当前日期
mysql>show databases; 显示所有数据库
mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后
mysql>alter table t1 rename t2; 重命名表
mysqldump
备份数据库
shell> mysqldump -h host -u root -p dbname > dbname_backup.sql
恢复数据库
shell> mysqladmin -h myhost -u root -p create dbname
shell> mysqldump -h host -u root -p dbname < dbname_backup.sql
如果只想卸出建表指令,则命令如下:
shell> mysqladmin -u root -p -d databasename > a.sql
如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:
shell> mysqladmin -u root -p -t databasename > a.sql
那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?
mysqldump -T./ phptest driver
其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。
问题
(1) unable to load authentication plugin 'caching_sha2_password'
处理:alter user 'mytest'@'%' identified with mysql_native_password by 'mytest';
-
4000
- 点赞
- 收藏
- 分享
- 文章举报
- MYSQL5.7版本sql_mode=only_full_group_by问题
- mysql \g和\G的作用_它们不能添加符号; 及原因
- MySQL 5.7.X 解压缩安装方法
- 安装MySQL
- MySQL服务
- MySQL输入密码后闪退解决办法
- mysql查询语句练习题
- 关于MYSQL字符串
- Mysql 数据库入门操作-创建数据库,数据表
- Mysql 数据库入门操作SQL-添加_修改_删除数据
- MySQL 表结构管理
- Mysql之流程控制语句case
- Mysql之多表查询(连接查询)
- Mysql 之 分组查询
- MySQL 基础知识 增删改查基本操作
- MySQL如何存储图片?---一个向数据库存取image文件的jsp程序
- 《mysql--学习笔记-1.0》
- mysql数据库分区
- Mysql管理总结
- mysql安装