一、MYSQL常用命令
下面命令登录到MySQL后进行操作
- show databases;
显示服务上当前存在的所有数据库;
- create database discuz
创建新的数据库discuz;
- drop database discuz;
删除discuz数据库;
- use discuz
选择discuz数据库
- show tables
现在当前数据库下所有的表
- create table user(name varchar(20),sex char(1));
创建user表
- describe user
显示user的表结构
- drop table user
删除user表
- insert into user values(“admin”,”m”);
向user插入数据
- truncate table user;
清空数据表user,如有自增id,从1重新开始,此处不同于delete from user;
- source ./bak/discuz_20150210.sql
导入.sql文本到数据库中
- update user set Password = PASSWORD(“741852″) WHERE User = ‘root';
flush privileges;别忘了更新权限。
修改root账号的密码,
二、Grant的用法
- 增加用户或权限
grant 权限 on 数据库.* to 用户名@'登录主机' identified by '密码'
权限:
常用总结, ALL/ALTER/CREATE/DROP/SELECT/UPDATE/DELETE
数据库:
*.* 表示所有库的所有表
test.* 表示test库的所有表
test.test_table 表示test库的test_table表
用户名:
mysql账户名
登陆主机:
允许登陆mysql server的客户端ip
‘%’表示所有ip
‘localhost’ 表示本机
‘192.168.10.2’ 特定IP
密码:
账户对应的登陆密码
实例: 例:grant usage on *.* to taisha@"%" identified by "123456" 例:grant select,update on discuz.* to woodie@127.0.0.1 identified by "123456";
其中privileges是一系列的权限,中间使用”,”分隔
- 权限明细
数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
全局管理MySQL用户权限:
file: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
特别的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录–其它什么也不允许做。
- 查看用户权限
show grants for root@localhost
例:show grants for woodie@127.0.0.1
三、MySQL常用操作
使用#which mysql,查找mysql命令的路径/usr/bin/mysql,进入cd /usr/bin/mysql,进行如下操作.
- mysqldump -u root -p discuz user> ~/bak/discuz_user_20150210.sql
导出discuz库中user表到bak下.通常用于备份,mysqldump的详细用法这里不介绍,在mysql外操作。
- mysql -h主机地址 -u用户名 -p用户密码
远程连接Mysql,前提是对方主机允许访问。