zoukankan      html  css  js  c++  java
  • MySQL使用说明

    1. 开启mysql

    # /etc/init.d/mysqld start

    2.关闭mysql

    # /etc/init.d/mysqld stop //为了保证mysql的配置没有错,一定保证/etc/mysql/下没有默认安装路径的my.conf,不然编译安装的出错

    3.登陆mysql数据库

    # mysql -h[主机地址] -u[用户名] -p[用户密码]

    注:如果用终端连接数据库,-p 密码需要提示输入,否则终端识别不了特殊符号

    4.更改密码

    # mysqladmin -u[用户名] -p[旧密码] password 新密码 
    # mysqladmin -u root password 'AB1MQpTKXaFdE0DS'

    5.grant授权

    grant * on 数据库.表名 to 用户名@用户地址 identified by “密码” //增加新用户
    用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%’表示从任何地址连接

    grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利

    mysql> grant select on testdb.* to common_user@'%'          //@后不可有空格,单引号也不可省略
    mysql> grant insert on testdb.* to common_user@'%'
    mysql> grant update on testdb.* to common_user@'%'
    mysql> grant delete on testdb.* to common_user@'%'
    mysql> grant select,insert,update,delete on testdb.* to common_user@'%'

    grant 创建、修改、删除 MySQL 数据表结构权限

    mysql> grant create on testdb.* to developer@'192.168.0.%'
    mysql> grant alter on testdb.* to developer@'192.168.0.%'
    mysql> grant drop on testdb.* to developer@'192.168.0.%'

    grant 操作 MySQL 外键权限

    mysql> grant references on testdb.* to developer@'192.168.0.%'

    grant 操作 MySQL 临时表权限

    mysql> grant create temporary tables on testdb.* to developer@'192.168.0.%'

    grant 操作 MySQL 索引权限

    mysql> grant index on testdb.* to developer@'192.168.0.%'

    grant 操作 MySQL 视图、查看视图源代码 权限

    mysql> grant create view on testdb.* to developer@'192.168.0.%'
    mysql> grant show view on testdb.* to developer@'192.168.0.%'

    grant 操作 MySQL 存储过程、函数 权限

    mysql> grant create routine on testdb.* to developer@'192.168.0.%'
    mysql> grant alter  routine on testdb.* to developer@'192.168.0.%'
    mysql> grant execute on testdb.* to developer@'192.168.0.%'

    grant 普通 DBA 管理某个 MySQL 数据库的权限

    mysql> grant all privileges on testdb to dba@'localhost'

    grant 高级 DBA 管理 MySQL 中所有数据库的权限

    mysql> grant all on *.*  to dba@'localhost'

    6.mysql root密码

    mysql> set password for 'root'@'localhost' = password('123456');
    mysql> flush privileges;            //修改生效

    password:代表mysql加密函数

    mysql> use mysql; 
    mysql> update user set password='' where user='root';   //密码清除

    需要重启mysql

    7.mysql远程连接工具

    Navicat 可连接Oracle
    MySQL-Front 界面友好
    query browser 带SQL语句,可操作图片

    8.远程连接授权

    授权法:

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

    WITH GRANT OPTION:表示有授权的人

    9.远程连接其他办法

    # vi /etc/my.cnf

    [mysqld]段加 skip-name-resolve
    还有一种办法:

    # vi /etc/hosts.allow

    加上:(还未尝试)
    mysqld : ALL : ALLOW
    mysqld-max : ALL :ALLOW
    实在不行:

    # vi /etc/my.cnf

    bind-address = 127.0.0.1 改成本机IP地址

    10.数据库操作

    • show databases; //列出数据库
    • use database_name //使用database_name数据库
    • create database data_name //创建名为data_name的数据库
    • drop database data_name //删除一个名为data_name的数据库

    11.表操作

    • use 数据库名 //到达某一数据库
    • show tables //列出所有表
    • drop table tab_name 删除名为tab_name的数据表
    • describe tab_name //显示名为tab_name的表的数据结构
    • SQL插入语句:insert into table_name(col1,col2) values(value1,value2);
    • SQL更新语句:update table_name set col1=’value1’,col2=’value2’ where where_definition;
    • delete from tab_name //将表tab_name中的记录清空
    • select * from tab_name //显示表tab_name中的记录

    12.时间操作

    NOW()函数以`’YYYY-MM-DD HH:MM:SS’返回当前的日期时间,可以直接存到DATETIME字段中。
    CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。
    CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。
    例:insert into tablename (fieldname) values (now())

    13.修改表结构

    • alter table tab_name add col_name varchar(20); //在tab_name表中增加一个名为col_name的字段且类型为varchar(20)
    • alter table tab_name drop col_name //在tab_name中将col_name字段删除
    • alter table tab_name modify col_name varchar(40) not null //修改字段属性,注若加上not null则要求原字段下没有数据
    • 如何修改表名:alter table tab_name rename to new_tab_name
    • 如何修改字段名:alter table tab_name change old_col new_col varchar(40); //必须为当前字段指定数据类型等属性,否则不能修改
    • create table new_tab_name like old_tab_name //用一个已存在的表来建新表,但不包含旧表的数据

    14.参考文档:

    http://www.cnblogs.com/hcbin/archive/2010/04/23/1718379.html //Mysql grant

  • 相关阅读:
    Spring+mybatis+struts框架整合的配置具体解释
    JavaScript 基础
    MySQL高可用系列之MHA(二)
    设计模式之备忘录模式
    客户管理系统之模块设计(七)
    CURL库的宏定义列表
    servlet调用的几种方式
    modprobe kvm-intel
    sql server 2008 R2 配置开启远程访问
    error: could not find library containing RSA_new
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709920.html
Copyright © 2011-2022 走看看