MySQL常用命令与操作

一、MYSQL常用命令

下面命令登录到MySQL后进行操作

  • 显示服务上当前存在的所有数据库;
show databases;

  • 创建新的数据库discuz;
create database discuz
  • 删除discuz数据库;
drop database discuz;
  • 选择discuz数据库
use discuz
  • 现在当前数据库下所有的表
show tables
  • 创建user表
create table user(name varchar(20),sex char(1));
  • 显示user的表结构
describe user
  • 删除user表
drop table user
  • 向user插入数据
insert into user values("admin","m");
  • 清空数据表user,如有自增id,从1重新开始,此处不同于delete from user;
truncate table user;
  • 导入.sql文本到数据库中
source ./bak/discuz_20150210.sql
  • 修改root账号的密码,
update user set Password = PASSWORD("741852") WHERE User = 'root';
flush privileges;别忘了更新权限。
  • 查看用户权限
show grants for root@localhost
例:show grants for woodie@127.0.0.1

二、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";

三、权限详解

  • 数据库/数据表/数据列权限
 Alter: 修改已存在的数据表(例如增加/删除列)和索引。
 Create: 建立新的数据库或数据表。
 Delete: 删除表的记录。
 Drop: 删除数据表或数据库。
 INDEX: 建立或删除索引。
 Insert: 增加表的记录。
 Select: 显示/搜索表的记录。
 Update: 修改表中已存在的记录。
  • 全局管理MySQL用户权限
 file: 在MySQL服务器上读写文件。
 PROCESS: 显示或杀死属于其它用户的服务线程。
 RELOAD: 重载访问控制表,刷新日志等。
 SHUTDOWN: 关闭MySQL服务。
  • 特别的权限
 ALL: 允许做任何事(和root一样)。
 USAGE: 只允许登录--其它什么也不允许做。

四、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,前提是对方主机允许访问。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>