mysql linux下操作

/usr/local/mysql/bin/mysql -uroot -h127.0.0.1 -p
little)(*&@#klsdfb
mysql>show databases;
mysql>create database xhkdb;
mysql>use xhkdb;
mysql>create table MyClass(
 > id int(4) not null primary key auto_increment,
 > name char(20) not null,
 > sex int(4) not null default '0',

 > degree double(16,2));

增加新用户
1.增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作
davinci为用户名,davinci_outer为密码
grant select,insert,update,delete on davinci.* to davinci@127.0.0.1 identified by "davinci_outer";
grant select,insert,update,delete on davinci.* to davinci@10.221.0.110 identified by "davinci_outer";
2.增加一个用户davinci密码为davinci_outer,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限
grant select,insert,update,delete on *.* to davinci@"%" identified by "davinci_outer";
3.删除用户。 
mysql>DELETE FROM user WHERE User="davinci" and Host="127.0.0.1";
4.查看MYSQL数据库中所有用户
mysql>SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
5.查看数据库中具体某个用户的权限
mysql>show grants for 'davinci'@'127.0.0.1';
6.增加一个用户root密码为test,让他可以在任何主机上登录,并对所有数据库有所有的权限
grant all privileges on *.* to root@"%" identified by "test";
退出
exit;

删除表
DROP TABLE IF EXISTS `accounts`; 

连接数据库密码设置
1.新设置密码
mysqladmin -uroot password 需要设置的密码
2.修改密码
mysqladmin -uroot password 需要设置的新密码 -p

命令行中查看binlog日志格式的命令:
show variables like '%log%';

查看数据库大小
1、进去指定schema 数据库(存放了其他的数据库的信息)
use information_schema
2、查询所有数据的大小
select concat(round(sum(DATA_LENGTH/1024/1024),2), 'MB') as data from TABLES
3、查看指定数据库的大小 
比如说 数据库apoyl
select concat(round(sum(DATA_LENGTH/1024/1024),2), 'MB') as data from TABLES where table_schema= 'apoyl' ;
4、查看指定数据库的表的大小
比如说 数据库apoyl 中apoyl_test表
select concat(round(sum (DATA_LENGTH/1024/1024),2), 'MB') as data from TABLES where table_schema= 'apoyl' and table_name= 'apoyl_test';

一些用过的简单mysql语句
1.插入语句
insert into `table_name` (`uid`, `gameId`) values (123, 456)
2.更新语句
update `table_name` set `gameId`=1 and `score`=5 where `uid`=123
3.查询语句
(1)同时查询两条不同条件数据
select (select count(*) from player_rank where `score` > 585 AND `rankId`=160100) as rankScore, (select count(*) from player_rank where `updateTime` < 1453968097576 AND `rankId`=160100) as rankTime from player_rank limit 1
(2)同时查询多条相似条件数据
select `data`, `uid` from `table_name` where `uid` in (123, 234)
(3)两个条件排序
select * from `player_rank` order by `score` desc,`updateTime` asc
4.查看表结构
desc tablename
5.查看表创建语句
show create table tablename
 

Mysqldump

 

备份单个数据库的数据和结构(数据库名mydb)

mysqldump -uroot-p123456 mydb>/opt/local/mydb.sql

一次备份多个数据库
mysqldump -uroot -p123456 --databases db1 db2>/opt/local/muldbs.sql
备份全部数据库的数据和结构
mysqldump -uroot -p123456 -A >/opt/local/all.sql
还原全部数据库:
mysql命令行:mysql>source /opt/local/all.sql
系统命令行: mysql -uroot -p123456 </opt/local/all.sql
还原单个数据库(需指定数据库)
mysql>use mydb
mysql>source /opt/local/mydb.sql
mysql -uroot -p123456 mydb </opt/local/mydb.sql
还原单个数据库的多个表(需指定数据库)
mysql>use mydb
mysql>source /opt/local/multables.sql
mysql -uroot -p123456 mydb</opt/local/multables.sql
还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)
mysql命令行:mysql>source /opt/local/muldbs.sql
系统命令行: mysql -uroot -p123456</opt/local/muldbs.sql

只导出数据库的数据表结构

shell > mysqldump --opt -d 数据库名 -uroot -h10.130.161.63 -p1234qwer > /tmp/abc.sql

导出某个表指定条件的数据

shell > mysqldump -h10.130.161.63 -uroot -p1234qwer 数据库名 表名 --where="条件" > /tmp/abc.sql

阅读更多
换一批

没有更多推荐了,返回首页