前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql 常用命令

Mysql 常用命令

作者头像
shaonbean
发布2019-05-26 10:34:51
4590
发布2019-05-26 10:34:51
举报
文章被收录于专栏:运维前线运维前线

版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://cloud.tencent.com/developer/article/1434982

Mysql 常用命令

代码语言:javascript
复制
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;  
#
show databases;               显示数据库  
create database name;         创建数据库   
use databasename;             选择数据库   
drop database name;           直接删除数据库,不提醒   
show tables;                  显示表   
describe tablename;           显示具体的表结构
describe user;                显示表 mysql 数据库中 user 表的列信息  
select 中加上 distinct         去除重复字段   
mysqladmin drop databasename; 删除数据库前,有提示   
select version(),current_date; 显示当前 mysql 版本和当前日期 
  • 修改 mysql 中 root 的密码
代码语言:javascript
复制
mysql -h localhost -u root -p //登录  
update user set password=password("linuxprobe") where user='root';   
flush privileges           //刷新数据库   

MySQL 权限详解

grant 创建用户 linuprobe(密码 linuprobe)和数据库,并赋予权限于 linuprobe 数据库

代码语言:javascript
复制
create database linuprobe;   
grant all privileges on linuprobe.* to linuprobe@'%' identified by 'linuprobe';

会自动创建用户linuprobe,mysql默认的是本地主机是 localhost,对应的 IP 地址就是 127.0.0.1,所以你用你的 IP 地址登录会出错,如果你想用你的 IP 地址登录就要先进行授权用 grant 命令。undefined grant all on . to linuprobe@10.1.1.222 identified by “linuprobe”;undefined 说明:grant 与 on 之间是各种权限,例如:insert,select,update 等 on之后是数据库名和表名,第一个表示所有的数据库,第二个表示所有的表,root 可以改成你的用户名,@后可以跟域名或 IP 地址,identified by 后面的是登录用的密码,可以省略,即缺省密码或者叫空密码。

添加授权

格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION; 
GRANT ALL PRIVILEGES ON *.* TO mailto@"%" IDENTIFIED BY 'something' WITH GRANT OPTION; 

删除授权:

代码语言:javascript
复制
revoke all privileges on *.* from mailto@"%";
delete from user where user="root" and host="%";
flush privileges; 
  • 创建一个用户deploy在特定客户端 linuxprobe登录,可访问特定数据库 linuxprobe
代码语言:javascript
复制
grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ' passwd';

重命名表:undefined alter table t1 rename t2; mysqldumpundefined 备份数据库undefined mysqldump -h host -u root -p dbname > dbname_backup.sqlundefined 恢复数据库undefined mysqladmin -h myhost -u root -p create dbname mysqldump -h host -u root -p dbname < dbname_backup.sqlundefined 如果只想卸出建表指令,则命令如下:undefined mysqladmin -u root -p -d databasename > a.sqlundefined 如果只想卸出插入数据的 sql 命令,而不需要建表命令,则命令如下:undefined mysqladmin -u root -p -t databasename > a.sqlundefined 那么如果我只想要数据,而不想要什么 sql 命令时,应该如何操作呢?undefined mysqldump -T./ phptest driverundefined 其中,只有指定了-T 参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与 mysqldump 同一目录。如果不指定 driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql 文件,包含建表执行。另一个为.txt 文件,只包含数据,且没有 sql 指令。 可将查询存储在一个文件中并告诉 mysql 从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件 my_file.sql 中存放有查 询,可如下执行这些查询:undefined 例如,如果您想将建表语句提前写在 sql.txt 中,undefined mysql -h myhost -u root -p

Mysql5.0 支持的字符集

MySQL 中的字符集控制做得比较细,可以分为数据库级,表级, 字段级(这一点和 ORACLE 不同)。我上次改的字符集是数据库级的,对表 sysuser 没有影响,所以出现了改了字符集却一样无法插入中文的情况。

代码语言:javascript
复制
  Drop TABLE IF EXISTS `firstdb`.`users`; 
  Create TABLE `firstdb`.`users` ( 
  `id` int(11) NOT NULL auto_increment, 
  `username` varchar(40) default NULL, 
  `birthday` date default NULL, 
  PRIMARY KEY (`id`) 
  ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; 

编译 MySQL 时,指定了一个默认的字符集,这个字符集是 latin1; 安装 MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的; 启动 mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的;undefined 此时 character_set_server 被设定为这个默认的字符集;undefined 当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为 character_set_server;undefined 当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集; 在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;undefined 当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集; 这个字符集就是数据库中实际存储数据采用的字符集,mysqldump 出来的内容就是这个字符集 下的;Query Browser1.1 对中文输入的支持太差劲了,可以用 notebook 写好后,再 copy 过去执行 update firstdb.users set username=’以’ where id=3;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年11月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Mysql 常用命令
  • MySQL 权限详解
  • 添加授权
  • 删除授权:
  • Mysql5.0 支持的字符集
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档