/usr/local/mysql/bin/mysql -uroot -h127.0.0.1 -P3306 -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
6.修改字段长度
alter table 表名 modify column 字段名 类型(要修改的长度)
例:alter table cl_users modify column unionid varchar(200)
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
连接mysql时遇到Access denied for user 'root'@'localhost问题时的解决方案
1.首先停掉mysql服务
/etc/init.d/mysqld stop或service mysqld stop
2.以不使用密码方式启动
/usr/bin/mysqld_safe --skip-grant-tables
3.连接数据库
mysql -u root
4.刷新权限
mysql> flush privileges;
5.添加权限
mysql> grant all privileges on *.* to root@'localhost';
6.重新启动mysql
service mysqld stop
service mysqld start