设为首页 收藏本站
查看: 604|回复: 0

[经验分享] Mysql常用命令集合

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-8 08:59:51 | 显示全部楼层 |阅读模式
创建一个数据库:
create database db_Name;

选择数据库:
use db_Name;

设置数据库编码
set names utf8;

允许所有用户远程登录:
grant all on *.* to 'root'@'%' identified by '123456';
grant all privileges on  DBName.* to USERname@'%' identified by '123456';
需要刷新权限表
flush privileges;

显示数据库中所有的表:
show Tables;

显示索引信息:
show index from Table_name;

显示表数据:
select * from Table_name;

显示表中指定行数:
select * from Table_Name limit 10;

修复表:
repair table Table_name

更新表:
update 表名 set  name=?,password=?.... where id=?

导出所有数据库
mysqldump -uroot -p密码 --all-databases > all.sql

将表中sex字段下的所有条目改为f:update mytable set sex="f";

建立表:use 库名;create table 表名 (字段设定列表);

清空表:delete from tablename;
清空表:truncate table tablename;

删除一个表:drop table Table_Name;

删除一个表2:DROP TABLE IF EXISTS `account`;

删除一个库:drop database db_Name;

显示表结构:
desc table_name;
show columns from table_name;
describe table_name;


修改root密码
mysqladmin -uroot -p123456 password 654321


安装完毕初次使用数据库修改密码:
mysqladmin -uroot password "kuutown@1601"(单引号双引号皆可 没有减号)

只导出表结构
mysqldump -uroot -p -d abc > abc.sql

查询表行数:
select count(*) from tablename;


查看mysql现在已经提供什么引擎:
show engines;

查看mysql当前默认的存储引擎:
show variables like '%storage_engine%';







导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql


3.导出一个数据库结构

mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql

-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table




增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:
grant select,insert,update,delete on *.* to test2@localhost identified by "abc";

如果你不想test2有密码,可以再打一个命令将密码消掉。     
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
建立一个用户,并赋予远程连接权限:grant all on db.* to Name identified by 'password'







导入sql脚本

mysql -u 用户名 -p 数据库名 < 存放位置

mysqljump -u root -p test < c:/a.sql

注意,test数据库必须已经存在






limit:
limit是mysql的语法
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,4条记录


===========================================================================================
【Navicat连接技巧】
1、修改远程连接限制:选定数据库>>选择‘用户’(工具栏),主机改为:%



Windows下Mysql数据库服务的关闭和重启:
我们要重启Mysql服务才能使之生效,这里提供几种重启方法:
1、windows下重新启动mysql5的方法:
在安装mysql时系统会添加服务,可以通过管理工具里面的 <服务> 一项来停止和启动mysql。这样修改的my.ini就会生效了。

2、也可以用命令行模式,在运行里输入:
停止:net stop mysql(其中mysql为你安装的mysql服务名称)
启动:net start mysql



===========================================================================================



MysqlWindows下备份路径:
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data





MySQL新建用户,授权,删除用户,修改密码
新建用户。
//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp  密码为:1234  的用户。





首先是启动服务。如果是redhat的话,可以使用setup或者ntsysv命令进入服务设置页面后,将mysqld那项选中,然后保存退出。如果不是redhat没有以上工具的话,可以使用chkconfig --level 35 mysqld on命令来开启服务。当然,这只是要求每次系统启动时启动服务,为了不用重启,需要使用/etc/init.d/mysqld start或者service mysqld start命令来使现在的服务启动,如果是重启服务的话,使用service ** restart。
在终端中输入mysql,看是否提示有这条命令,如果提示是command not found的话,应该是PATH变量的问题。解决的方法,可以将你安装mysql的路径也加入到PATH中,也可以将mysql中的需要执行的这些命令拷贝到PATH中。不过我mysql也是个菜鸟,真的不清楚有多少命令,所以建议把安装路径加入到PATH中,可以通过修改/etc/profile或者主目录下.bashrc文件来实现。一个是全局,一个只针对本账号。就是在文件中添加PATH=/usr/mysql:$PATH,位置无所谓,添进去应该就ok了。
然后输入mysql命令看看有反映没,如果没反应,就在查查,我也没这么弄过,但是我估计应该好使。
最后是添加mysql的密码了,默认时直接输入mysql就可以进入了,所以要进行修改。输入mysqladmin -u root password ***,就是给root添加密码了,如果是修改的话,格式为mysqladmin -u root -p 旧密码 password 新密码。还有,我真的是个菜鸟,加密码之前,其他账号也可以使用mysql命令直接进入,加了之后其他帐户可以使用mysql -uroot -p命令,然后输入密码进入(root也是以同样的方法进入),但是我不知道怎么添加别的帐户,比如说其他账户tom使用mysql -utom -p来进入,不好意思了。
对了,设定密码的时候,输入的是明文,而由于bash会保留命令,最好清除一下.bash_history,不然别人用一下history命令就可以知道你的密码是什么了。

2.为用户授权。

如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表。
mysql>flush privileges;

3.删除用户。
>mysql -u root -p
>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;

4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;

===========================================================================================

mysql> show variables like '%connection%';
+--------------------------+-----------------+
| Variable_name            | Value           |
+--------------------------+-----------------+
| character_set_connection | utf8            |
| collation_connection     | utf8_general_ci |
| max_connections          | 2000            |
| max_user_connections     | 0               |
+--------------------------+-----------------+
4 rows in set (0.00 sec)

mysql> show global status like '%Max_used%';  
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 237   |
+----------------------+-------+
1 row in set (0.00 sec)

mysql> show processlist;
+--------+------+-----------+------------+---------+------+-------+------------------+
| Id     | User | Host      | db         | Command | Time | State | Info             |
+--------+------+-----------+------------+---------+------+-------+------------------+
| 300717 | root | localhost | loldbrtmp8 | Query   |    0 | NULL  | show processlist |
+--------+------+-----------+------------+---------+------+-------+------------------+
1 row in set (0.00 sec)
===========================================================================================

#查看mysql日志设置情况
show variables like 'log%';


- 创建在线峰值表 [acc_db].[acc_maxlinelog]
        CREATE TABLE `acc_maxlinelog` (
                `logid`  int(4) UNSIGNED NOT NULL AUTO_INCREMENT ,
        `time`  int(4) UNSIGNED NOT NULL ,
        `count_online`  int(4) UNSIGNED NOT NULL ,
        `line`  varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
        PRIMARY KEY (`logid`),
        INDEX `servertime` (`time`, `line`) USING BTREE ,
        INDEX `time` (`time`) USING BTREE
        )
        ENGINE=InnoDB
        DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
        AUTO_INCREMENT=1
        ROW_FORMAT=COMPACT
        ;

       
       
===========================================================================================


你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql> show create table 表名;

update  account set platform='GZ' where platform='mlds';

新建一个字段id 表示文章号用来唯一标识文章 类型是整形 ,每个字段是一列
id int  indentity(1,1) ,

新建一个字段title 表示文章标题  类型是字符型 长度是100
title varchar(100),

新建一个字段 表示文章内容
[content] text


查找article1表
select * from Article1

插入一行
insert into Article1 values(1,'中国暂停进口美国“吉普牧马人”越野车','中国国家质检总局8日晚20时发布公告:暂停进口美国三大车企之一克莱斯勒“吉普牧马人”越野车。' )
insert into Article1 values(2,'中国暂停进口美国“吉普牧马人”越野车','中国国家质检总局8日晚20时发布公告:暂停进口美国三大车企之一克莱斯勒“吉普牧马人”越野车。' )
select * from Article1

update Article1 set title='abc' where id=2

delete from Article1 where id =1


select * from Article1 where title like ’%'a'%’
select count (*)  from Article1
select * from t2 where  title= 'abc'
select sum(id)  from Article1
select avg(id) as avgvalue from Article1
select max(id) as maxvalue from Article1
select min(id) as minvalue from Article1
select * from Article1 where title<>'abc'

mysql查询某表的行数
select count(*) from tablename;



select I.*,U.tablename1 from tablename2 I INNER JOIN users U  ON U.id=I.userid;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-64834-1-1.html 上篇帖子: MySQL多实例实现半同步复制 下篇帖子: Mysql ndb_Cluster 测试环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表