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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值