一、MySQL的登录命令和退出命令
(1)mysql:后面没有其他参数时,表示登录的时候是 空用户、空密码
(2)mysql -u root -p:-u 表示用户名为root(管理员)-p 表示密码为空
(3)mysql -u root -p123456 :表示用户名为root(管理员),密码为123456
(4)mysql -u root -p123456 -h 192.168.137.251:-h表示连接地址为192.168.137.251的主机
(5)mysql -u root -p123456 -h localhost mysql
注:-uroot = -u root , -h ip地址 = -hip地址,
-p123456不等于-p 123456:因为空格也属于密码的一部分
(6)退出MySQL命令: exit (回车)
二、MySQL查看命令
(1)查看database:show database
(2)切换database:use mysql
(3)查看当前db的有权限的表: —— show tables(查看表)
(4)查看表的字段:desc(describe) 表名 = show create table 表名
例如:查看user表有哪些字段
desc(describe) user 或者 show create table user
(5)查看表的内容
use mysql
select user,Host,password from user
= select user,Host,password from mysql.user
三、MySQL权限操作
(1)修改mysql中root的密码
1、update mysql.user set password=password('123456') where user='root' ——设置密码
2、flush privileges ——刷新(在MySQL权限操作中,最后一定要加这一命令)
3、刷新之后,即设置密码成功
如果之前有密码的,则进入mysql bin 目录:mysqladmin -uroot -p旧密码 password 新密码
(2)delete from mysql.user where user=' '——删除空用户
(3)update mysql.user set Host='%' where Host='hadoop000'——修改为任意机器可访问
flush privileges——刷新
四、创建新DB和用户
(1)创建新DB:create database ruozedb;——创建一个名为ruozedb的DB
(2)创建新用户并赋予访问权限:grant all privileges on 库名.表名 to 用户名@'IP地址' identified by "密码"
库名:要远程访问的数据库名称,所有的数据库使用“*”
表名:要远程访问的数据库下的表的名称,所有的表使用“*”
用户名:要赋给远程访问权限的用户名称
IP地址:可以远程访问的电脑(Windows)的IP地址,所有的地址使用“%”
密码:要赋给远程访问权限的用户对应使用的密码
例如:grant all privileges on ruozedb.* to ruoze@'192.168.1.102' identified by '123456';
flush privileges;
五、查看当前mysql的连接数
show processlist——查看连接数
kill Id——根据Id来适当kill
注:找到卡住、锁死的process,然后与开发确认好kill之后是否有影响,再决定要不要kill
六、删除数据库(DB)
drop database ruozedb——直接删除数据库,不提醒
mysqladmin drop database ruozedb——删除数据库前,有提示。
select中加上distinct——去除重复字段
select version(),current_date; ——显示当前mysql版本和当前日期
七、grant详解
(1)创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个
mysql> grant all privileges on *.* to user@localhost identified by ’something’ with grant option;
(2)增加新用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;
(3)删除授权:
mysql> revoke all privileges on *.* from root@”%”;
mysql> delete from user where user=”root” and host=”%”;
mysql> flush privileges;
(4)创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb
mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’
(5)重命名表: mysql > alter table t1 rename t2;
八、mysqldump (备份)
(1)备份数据库
shell> mysqldump -h host -u root -p dbname >dbname_backup.sql
(2)恢复数据库
shell> mysqladmin -h myhost -u root -p create dbname
shell> mysqldump -h host -u root -p dbname < dbname_backup.sql
(3)如果只想卸出建表指令,则命令如下:
shell> mysqladmin -u root -p -d databasename > a.sql
(4)如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:
shell> mysqladmin -u root -p -t databasename > a.sql