您的位置:首页 > 数据库 > MySQL

MySQL使用说明

2015-08-07 19:24 465 查看

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.参考文档:

/article/6465352.html //Mysql grant
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: