首页 > 代码库 > 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常用操作