1.数据库赋权

进入mysql数据库:
mysql> use mysql; 给root用户设置新密码:
mysql> update user set password=password("新密码") where user="root"; 刷新数据库
mysql> flush privileges; nagios监控
mysql> GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'nagiosshow'@'10.172.172.12' IDENTIFIED BY PASSWORD '*79B36E3D5F430AF5B15934D61D71C031B6502834'; 查看用户信息
use mysql;
select User,Host,Password from user; 查看用户权限
show grants for root@'localhost'; 删除用户
delete user form user where Host='xxxx' and User='xxxx';

查看用户与权限

GRANT ALL PRIVILEGES ON *.* TO 'midlis'@'%' IDENTIFIED BY 'midlis24' WITH GRANT OPTION;
USE mysql;
CREATE USER 'midlis@%' IDENTIFIED BY 'midlis24';
CREATE USER 'midlis' IDENTIFIED BY 'midlis24';
select User,Host,Password from user;

创建用户

2.新建数据库

查看已有用户:
mysql> use mysql;
mysql> select Host,User,Password from user; 新建数据库
CREATE DATABASE marketing_base DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 新建用户并赋权
grant all privileges on marketing_base.* to dysql@'%' identified by '1Qaz2wsx'; mysql -uroot -p123456 --default-character-set=gb2312 test<F:/pushingdb.sql mysql -uroot -p1qaz2wsx --default-character-set=utf8 ryp_production < cnapsbank.sql

新建数据库

3.导出数据库
  导出数据时排除某些表的数据

可以运行两条命令,可以一起运行。
首先导出表结构:
mysqldump -uxxx -p -d db_name > db_name.sql 然后导出你要的数据:
mysqldump -uxxx -p dbname --ignore-table=test.t --ignore-table=test.t1 ...>>test.sql; 仅导出数据库的数据:
mysqldump -uxxx -p -t db_name > db_data.sql 注:--ignore-table=xx “=” 左右不能有空格。 导出数据库包含pos、file值
mysqldump -uroot --quick --flush-logs --master-data=1 -p ryp1_production > ryp1_production20140924.sql

mysqldump导出数据库

4.导出表结构

命令行下具体用法如下:
mysqldump -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dump.sql 导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456 database table > dump.sql 导出整个数据库结构(不包含数据)
/usr/local/mysql/bin/mysqldump -uroot -d entrym> dump.sql 导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database table > dump.sql 字段分隔符
mysqldump -uroot -p hsb MERCHANT_INFO --tab="/tmp/" --fields-terminated-by="#;@" mysql> select * into outfile '/tmp/CASH_USE_INFO.sql' FIELDS TERMINATED BY '#;@' from CASH_USE_INFO; mysql> select * into outfile '/tmp/MERCHANT_ORDER.sql' FIELDS TERMINATED BY '#;@' from MERCHANT_ORDER where MERCHANT_ID in(select ID from MERCHANT_INFO); 导出存储过程
mysqldump -u 数据库用户名 -p -n -t -d -R 数据库名 > 文件名

mysqldump导出表结构

5.主从同步设置

主数据库
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.252.%' IDENTIFIED BY '123456';
mysql> show master status\G 从数据库
mysql> change master to master_host='192.168.252.150', master_user='backup', master_password='123456', master_log_file='mysql-bin.000003', master_log_pos=107;
mysql> start slave;
mysql> SHOW SLAVE STATUS\G

主从同步设置

6.查看数据库大小

进入information_schema数据库(存放了其他的数据库的信息)
use information_schema; 查询所有数据的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables; 查看指定数据库home的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home'; 查看指定数据库home中 members 表的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home' and table_name='members';

查看数据库大小

7.查询新建表索引

查看表是否存在索引(二选一)
show index from table_name from db_name
show index from db_name.table_name 查看表结构
desc table_name 为表字段(field_name)创建索引
create index field_name_index on table_name(field_name);

查询新建表索引

8.外部执行sql语句

mysql -uroot -p -e “seclect * from ” > seclect.sql

外部执行sql

9.KILL Mysql Processlist ID

#!/bin/bash
DATAFILE=`date +%Y%m%d%s`
/usr/bin/mysql -uroot -p123456 -e "select concat('KILL ',id,';') from information_schema.processlist where user='root' into outfile '/tmp/$DATAFILE.txt';"
KILLCOM=`/usr/bin/mysql -uroot -p123456 -e "source /tmp/$DATAFILE.txt"`
git fetch
1038 git merge origin/develop

KILL Mysql Processlist ID

10锁表处理

use information_schema

select * from INNODB_LOCK_WAITS

select r.trx_id as waiting_trx_id,
r.trx_mysql_thread_id as waiting_thread,
timestampdiff(second,r.trx_wait_started,current_timestamp) as wait_time,
r.trx_query as waiting_query,
l.lock_table as waiting_table_lock,
b.trx_id as blocking_trx_id,
b.trx_mysql_thread_id as blocking_thread,
substring(p.host,1,instr(p.host,':')-1) as blocking_host,
substring(p.host,instr(p.host,':')+1) as blocking_port,
if(p.command='sleep',p.time,0) as idle_in_trx,
b.trx_query as blocking_query
from information_schema.INNODB_LOCK_WAITS as w
inner join information_schema.innodb_trx as b on b.trx_id=w.blocking_trx_id
inner join information_schema.innodb_trx as r on r.trx_id=w.requesting_trx_id
inner join information_schema.INNODB_LOCKS as l on w.requested_lock_id =l.lock_id
left join information_schema.PROCESSLIST as p on p.id=b.trx_mysql_thread_id
order by wait_time desc\G;

锁表处理

11.分析频繁操作的表

mysqlbinlog --no-defaults --base64-output=decode-rows -v mysql-bin.000009 | awk '/###/{if($0~/UPDATE|INSERT|DELETE/)count[$2" "$NF]++}END{for(i in count)print i,"\t",count[i]}' | column -t | sort -k3nr >>~/$$.sql  & 2>/dev/null 

分析频繁操作的表

12.数据库分析工具

yum install percona-toolkit-2.2.8-1.noarch
pt-query-digest mysql-slow-queries_20150313.log

数据库分析工具

13.跳过某个同步错误

slave stop;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
slave start;

跳过某个同步错误

14.开启慢查询日志

配置文件开启(需重启)
vi /etc/my.cnf
long_query_time = 2
log-slow-queries=/var/log/slow.log 在线开启(无需重启)
set long_query_time=2
set global slow_query_log = 1;
set global slow_query_log_file = "/var/log/slow.log";

开启慢查询日志

15.存储过程执行权限

definer ('lpdba'@'%')  确定定义者为lpdba
grant all on mysql.* to lpdba@'%' identified by 'l1ghtp@l3';
grant execute on test.* to lpdba@'%' identified by 'l1ghtp@l3';

15.存储过程执行权限

16.开启事件

SHOW VARIABLES LIKE 'event_scheduler';
SET GLOBAL event_scheduler = ON;

16.开启事件

17.修改数据库触发器

查看数据库(vas_manage)的触发器创建语句
use vas_manage;
show CREATE TRIGGER before_update_game_product; 删除触发器
drop TRIGGER before_update_game_product; 创建触发器
CREATE TRIGGER before_update_game_product BEFORE UPDATE ON game_product
FOR EACH ROW
BEGIN
IF LOCATE("&nbsp;",new.game_type)>0 THEN
set NEW.game_type=REPLACE(NEW.game_type,"&nbsp;"," ");
END if;
END

修改数据库触发器

MySQL管理_数据库常用命令的更多相关文章

  1. MySQL管理_数据库启动与关闭

    MySQL数据库服务器通常指的的是mysqld,而命令行mysql则是mysql客户端程序,这两个概念通常容易混淆.通常启动mysql服务器即是启动mysqld进程,mysqld启动后,可以通过mys ...

  2. MySQL 数据库常用命令小结

    MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...

  3. oracle rac 数据库常用命令

    oracle rac 数据库常用命令:1.所有实例和服务的状态srvclt status database -d orcl单个实例的状态:srvctl status instance -d orcl ...

  4. INFORMIX数据库常用命令

    INFORMIX数据库常用命令 一.onstat命令集 1.onstat  - 说明:查看数据库当前的状态 用法:onstat  - 2.onstat  -c 说明:查看数据库的配置文件 用法:ons ...

  5. 【转】SQL Server、Oracle、MySQL和Vertica数据库常用函数对比

    SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 1. 绝对值 S:select abs(-1) valu ...

  6. DB2数据库常用命令数据库学习

    DB2数据库常用命令数据库学习你可以用 get snapshot for locks on XXX 看是那个表锁了,再从相关的操作去查原因吧 db2pd -d 库名 -locks和db2pd -d 库 ...

  7. Vertica的这些事(二)——SQL-Server、Oracle、MySQL和Vertica数据库常用函数对比

    SQL Server.Oracle.MySQL和Vertica数据库常用函数对比 Vertica数据库是HP公司新收购的用于BI方面的数据库. 绝对值 S:select abs(-1) value O ...

  8. MySQL 数据库常用命令

    1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...

  9. MySQL 数据库常用命令 超级实用版分享

    1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...

随机推荐

  1. 【转】 HTTP 协议简介

    一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应用层分别为:物理层.链路层.网络层.传输层和应用层,如下图所示: 从 ...

  2. flash的动态加载技术

    这里所说的动态加载技术, 主要是指代码模块(可以是swc也可以是swf)的动态加载.即主swf在运行的时候, 可以根据需要动态加载所需的代码模块. 为了讨论方便, 下面所说的代码模块都用swc表示,用 ...

  3. Centos6 使用yum安装 mysql 5.7

    直接使用yum安装默认安装的是mysql 5.1版本,要想安装mysql 5.7 需要设置yum源 1.检查系统默认mysql,并删除 yum list installed | grep mysql ...

  4. Java 内存分配全面浅析

    本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java.这类文章网上有很多,但大多比较零碎.本文从认知过程角度出发,将带给读者一个系统的介绍. 进入正题前首先要知道的是Java程 ...

  5. SourceForge无法访问的解决办法

    这一阵java框架spring和hibernate都有新版本了(spring2.5.5和hibernate3.2.6)想下载看看,却发现 SourceForge.net无法打开.刚才用Google搜索 ...

  6. ShopNC小实例

    shopnc 之模式: shopnc一般的url访问为:http://localhost/shopnc1/admin/index.php?act=sui&op=hello Controller ...

  7. MySQL操作汇总[转]

      这学期学习了数据库系统原理,做了实验,mark一记. 目录(没有一键目录不开心...) 1.T—SQL的简单查询.连接查询 (1)用SQL语句建库.建表并插入记录. (2)修改表结构,包括修改属性 ...

  8. PDF 补丁丁 0.4.3.1342 测试版发布:修复崩溃问题

    PDF 补丁丁 0.4.3.1342 测试版发布了. 此测试版修复了之前测试版在合并文件.书签编辑器.文档结构探查器中出现的崩溃问题. 推荐下载了0.4.3测试版的网友尽快更新.

  9. redis教程

    windows下安装redis: http://jingyan.baidu.com/article/49ad8bce40174f5834d8fa24.html redis教程: http://www. ...

  10. eclipse快捷键用不了

    ctrl+shift+R是eclipse最常用的快捷键之一,用于打开资源,输入文件名或文件名中的前几个字母,就可以打开工作区中任意文件 今天在打开eclipse,使用该快捷键时,提示“该快捷方式所指向 ...