首页 > 代码库 > mysql常用操作

mysql常用操作

Mysql创建数据库

Mysql>create database test;

Mysql新增用户与密码

Mysql>grant all on *.* to ucenter@‘%‘ identified by ‘ucenter‘;允许所有主机登录

all 代表所有权限;*.*代表所有的数据库;ucenter代表用户名;’%’代表所有的主机,不包括本地主机;’ucenter’代表用户密码,2个’号不是密码;identified by为加密选项

mysql> flush privileges;更新权限表

mysql> grant all on *.* to ucenter@‘localhost‘ identified by ‘ucenter‘; 允许本地主机登录

允许zoulongpu用户可以再所有主机上访问zoulongpu数据库和里面的表

grant all on zoulongpu.* to zoulongpu@‘%‘ identified by ‘zoulongpu‘;

zoulongpu.*代表zoulongpu数据库和里面的表;*.*代表所有的数据库;

指定用户具有对phblampDB数据库的查找和修改权限;

mysql>grant select,update on phplampDB.* to phplamp@localhost identified by ‘1234‘

select,update代表用户具有查询修改权限;phplampDB.*代表数据库名和里面所有的表;

mysql> flush privileges;更新权限表

删除用户表里面的空用户

mysql> delete from mysql.user where user =‘‘;

修改mysql用户密码

方法1、mysql> update mysql.user set password=password(‘ucenter‘) where user=‘root‘;

(‘ucenter‘)代表用户密码,括号()和’’号必填,不是密码;

‘root’代表要修改的用户,’’号必填;

mysql> flush privileges;更新权限表

方法2、[root@ccms-dzhkjr ~]#mysqladmin -u root -p password ‘456‘

‘456’代表新密码

然后系统会询问你现在的密码,输入现在的密码回车就可以了

修改mysql用户名称

mysql>use mysql;  mysql代表数据库,所有的用户都存储在mysql中,所有修改时需先进入mysql数据库;

mysql>update user set user="新用户名" where user="旧用户名";

mysql>flush privileges;

查询mysql用户

mysql> select host,user,password from mysql.user;

查看MYSQL数据库中所有用户

mysql> SELECT DISTINCT CONCAT(‘User: ‘‘‘,user,‘‘‘@‘‘‘,host,‘‘‘;‘) AS query FROM mysql.user;

方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100   修改为 max_connections=1000 服务里重起MYSQL即可

方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppassword

设置新的最大连接数为200:mysql> set GLOBAL max_connections=200

show variables like ‘%conn%‘;查看连接数

显示当前运行的Query:mysql> show processlist

显示当前状态:mysql> show status

退出客户端:mysql> exit

查看当前最大连接数:mysqladmin -uusername -ppassword variables

来源: <http://www.chinaz.com/program/2010/0304/107768.shtml>

查看cactiuser用户的权限;

mysql> select * from mysql.user where user=‘cactiuser‘ \G;

‘cactiuser’代表用户

查看fengmangang用户的本地权限表

mysql> show grants for fengmangang@‘localhost‘;

更改fengmangang用户只能访问自己的fengmangang数据库,不能访问yufei的数据库

mysql>revoke all on yufei.fengmangang from ‘fengmangang‘@‘localhost‘;

查看数据库里某个库有多少张表

mysql>SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES   WHERE table_schema =‘数据库名‘ GROUP BY table_schema;

列出所有数据库

Mysql>show databases;

查看数据库连接数

Mysql>show processlist;

查看表中内容

select * from table_name

删除数据库用户

Mysql>use mysql;所有的用户都存储在mysql中,所有修改时需先进入mysql数据库;

Mysql> delete from user where user="ucenter";

“ucenter”代表用户,”号必写;

删除用户的数据库

mysql>drop database phplampDB;

删除数据表

mysql>drop table 数据表名;

查看数据库的字体编码

mysql>show variables like‘char%‘;

查询数据库中包含inno与lock的变量

mysql>show variables like ‘%inno%lock%‘;

导入文件到数据库的表中

load data infile ‘/tmp/top_wwplugin_sku_2013050918_0_20130509194741.data文件路径‘ into table tb_onsale_item_property表名称;

导出数据库

简单:Mysqldump –u 用户名 –p 数据库名 > 数据库导出名称如(abc.sql)

加参数:mysqldump -u jira  --default-character-set=utf8 --no-autocommit --skip-opt  --quick --routines --triggers --events --single-transaction --create-options  数据库名  >数据库导出名称和路径如:/data/ abc.sql

后台运行导出数据库

nohup mysqldump -h 10.200.190.12 -uadmin -pdatayun901 ccms > /data/ccms1.sql &

 

 

1.导出整个数据库

 

  mysqldump -u用户名 -p密码  数据库名 > 导出的文件名

  C:\Users\jack> mysqldump -uroot -pmysql sva_rec  > e:\sva_rec.sql

 

  2.导出一个表,包括表结构和数据

 

  mysqldump -u用户名 -p 密码  数据库名 表名> 导出的文件名

  C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql

 

  3.导出一个数据库结构

  C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql

 

4.导出一个表,只有表结构

  mysqldump -u用户名 -p 密码 -d数据库名  表名> 导出的文件名

  C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql

 

  5.导入数据库

 

  常用source 命令

  进入mysql数据库控制台,

  如mysql -u root -p

  mysql>use 数据库

  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

  mysql>source d:wcnc_db.sql

 

导入sql文件到mysql数据库

mysql –h 10.200.188.90主机地址 –u root用户 –p huaat23 密码数据库名称 < /data/zbc.sql文件路径

查看数据库内正在进行的操作

mysql>show processlist;

mysql> show binary logs;

查看数据库日志文件

mysql> purge binary logs to ‘mysql-bin.000026‘;

删除数据库日志 ‘mysql-bin.000026‘代表的是最后一个文件,在26之前的会清除

查询jira上有被重新打开(reopen)的issue

use jira;

SELECT pkey, workflow_id, count(*), group_concat(START_DATE) FROM jiraissue LEFT JOIN OS_HISTORYSTEP ON jiraissue.WORKFLOW_ID = OS_HISTORYSTEP.ENTRY_ID where action_id = 3 group by pkey order by count(*) desc;

查询2013年7月份所有的issue

SELECT pkey,START_DATE FROM jiraissue LEFT JOIN OS_HISTORYSTEP ON jiraissue.WORKFLOW_ID = OS_HISTORYSTEP.ENTRY_ID where START_DATE like ‘%2013-07%‘ group by pkey ;

查询2013年7月份有被reopen的issue

SELECT pkey,START_DATE FROM jiraissue LEFT JOIN OS_HISTORYSTEP ON jiraissue.WORKFLOW_ID = OS_HISTORYSTEP.ENTRY_ID where action_id = 3  and START_DATE like ‘%2013-07%‘ group by pkey order by count(*) desc ;

清理mysql-bin日志

purge binary logs to ‘mysql-bin.000034‘;

‘mysql-bin.000034‘代表清理000034前面所有的文件

show variables like ‘%binary%‘

关闭mysql-bin日志

set global log_bin=0;需重启

mysql启动3307端口

mysqld_multi --defaults-extra-file=/etc/my.cnf start 2 &

更新表内容

mysql> select * from cwd_directory_attribute;

+--------------+---------------------------------------------------------+----------------------------------+

| directory_id | attribute_name                                       | attribute_value               |

+--------------+---------------------------------------------------------+----------------------------------+

|         1 | user_encryption_method                               | atlassian-security            |

|     10000 | application.name                                     | jira-hz                       |

|     10000 | application.password                                 | datayun0626                   |

|     10000 | com.atlassian.crowd.directory.sync.currentstartsynctime | NULL                          |

|     10000 | com.atlassian.crowd.directory.sync.issynchronising   | false                         |

|     10000 | com.atlassian.crowd.directory.sync.lastdurationms    | 5929                          |

|     10000 | com.atlassian.crowd.directory.sync.laststartsynctime | 1406712326534                 |

|     10000 | crowd.server.url                                     | http://jira.yunat.com:8095/crowd |

|     10000 | crowd.sync.incremental.enabled                       | false                         |

|     10000 | directory.cache.synchronise.interval                 | 3600                          |

|     10000 | useNestedGroups                                      | false                         |

+--------------+---------------------------------------------------------+----------------------------------+

11 rows in set (0.00 sec)

mysql> update cwd_directory_attribute set attribute_value="http://yunwan3.3322.org/crowd"  where attribute_name="crowd.server.url";

mysql> create database jiradb character set utf8;Query OK, 1 row affected (0.02 sec)

mysql

> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on jira.* TO ‘jira‘@‘localhost‘ IDENTIFIED BY ‘jira‘;

mysql> flush privileges;

删除表里面的某一行

delete from cwd_group where group_name=‘Dev_Channel_Team‘;

删除cwd_group这个表里面Dev_Channel_Team这一行数据

删除表

drop table 表名称;

 

我们可以通过修改host域 使ip有权登陆

use mysql; # 切换到mysql数据库下

update user set host=‘192.168.1.146‘ where user=‘root‘;

flush privileges; # 刷新权限

 

修改MySQL用户密码

update user set password=password(‘aaaaaa‘) where user=‘root‘; # 通过password函数修改用户密码

flush privileges; # 刷新内存中的权限

 

新增一个MySQL用户 并全局相关授权

格式: grant [权限1,权限2,权限3 ... ] on *.* to userName@‘host‘ identfied by ‘password‘; # 这里添加的权限是全局的

常用权限有:all,select,drop,insert,delete,update,select

grant 常用权限 on *.*[库.表] to 用户名@‘192.168.1.%‘ identified by ‘密码‘;

mysql> use mysql;

mysql> grant all on *.* to test@"192.168.1.%" identified by ‘111111‘;

mysql>  # 添加用户test在192.168.1.%网段连接对所有库所有表授予所有权限 密码为 ‘aaaaaa‘

 

MySQL权限收回

revoke all on *.* from test@‘192.168.1.%‘; # 收回test用户的所有全局权限

 

 

针对某个库作授权/收回 记录在mysql.db表

grant all on dbName.* to test@‘192.168.1.%‘; # 授权给用户对dbName拥有所有权限

revoke all on dbName.* from test@‘192.168.1.%‘; # 收回用户对dbName库的权限

 

 

针对表做更加细致的授权 记录在mysql.tables_priv表中

grant insert,update,select on dbName.tableName to test@‘192.168.1.%‘; # 用户可以增删改但是不能删除

来源: <http://blogcurder.sinaapp.com/article/88.html>

 

mysql常用操作