mysql 的使用

1. 安装

   https://dev.mysql.com/downloads/mysql/

 

2. 配置

   $ vim ~/.bash_profile

   $ export PATH=$PATH:/usr/local/mysql/bin

 

3. 服务

   $ sudo mysql.server start   //启动

   $ sudo mysql.server stop    //停止

   $ sudo mysql.server restart //重启

   $ sudo mysql.server status  //状态

   $ mysqladmin -u root -p password 123456 //修改密码

   //cmd  //net start/stop/restart mysql

 

4. 用户&授权

   mysql> create user username identified by 'password';

   mysql> create user username@'localhost' identified by 'password';

   mysql> grant all privileges on *.* to username@'%' identified by 'password';

   mysql> grant all privileges on dbName.* to username@'%' identified by 'password';

   mysql> grant all privileges on dbName.tableName to username@'%' identified by 'password';

   mysql> flush privileges;

   mysql> show grants; //查看当前用户的权限

   mysql> show grants for 'username'; //查看某个用户的权限

   mysql> drop user admin@'%'; //删除某个用户

   mysql> insert into mysql.user(Host,User,Password)  values("localhost","zhangs",password("123456"));

   mysql> revoke all on dbName:tableName from username@'localhost' //移除用户权限

/*

privilegesCode表示授予的权限类型,常用的有以下几种类型[1]:

all privileges:所有权限。

select:读取权限。

delete:删除权限。

update:更新权限。

create:创建权限。

drop:删除数据库、数据表权限。

 

dbName.tableName表示授予权限的具体库或表,常用的有以下几种选项:

.:授予该数据库服务器所有数据库的权限。

 *.* 授予所有权限

dbName.*:授予dbName数据库所有表的权限。

dbName.dbTable:授予数据库dbName中dbTable表的权限。

 

username@host表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:

localhost:只允许该用户在本地登录,不能远程登录。

%:允许在除本机之外的任何一台机器远程登录。

192.168.52.32:具体的IP表示只允许该用户从特定IP登录。

*/

 

4. 连接

   $ mysql

   $ mysql -u username -h host -H port -p 

     -u 用户名

     -h 域名 ip //默认是localhost

     -H 端口号

     -p 密码

     eg. $ mysql -u root -p

   mysql> exit //退出

 

5. 数据库

   mysql> show databases; //列出该用户下的所有可用数据库

   mysql> use name; //连接并切换到该数据库下

   mysql> flush privileges;  //刷新数据库

   mysql> create database myDatabase;

   mysql> drop database myDatabase;

   注:使用mysqladmin 也能操作数据库

   $ mysqladmin -u root -p create myDatabase;

   $ mysqladmin -u root -p drop myDatabase;

 

 

 

5. 表

   mysql> show tables; //显示该数据库下的表

   create ;

/*

 mysql> creat table person(

      > id int auto_creament,

      > userId varchar(20) not null unique,

      > name varchar(20) not null,

      > sex int default,

      > pramary key(userId));

 */

   drop;

/*

    mysql> drop table person;

 */

   delete;

/*

    mysql> delete from person where userId = '10001';

    mysql> delete from person where userId = '10001' or userId = '10002';

 */

   select;

/*

    mysql> select userId,name from person where userId = '10001';

    mysql> select * from person where userId like '1000%' and age > 20;

 */

   insert;

/*

    mysql> insert into person (userId,name,sex) values('10003','gulong',28);

 */

   update set;

/*

    update person set name='guzheng',age = 13 where userId = '10002'

 */

   order by //默认asc

///mysql> select * from person where userId like '1000%' order by sex asc;

   group by

 

//sql 注入

$ mysql -u admin -p 123 < mmm.sql

//数据导出

$ mysqldump -u admin -p AdminDB person > mmm.text

 

6. 其他

//密码策略

mysql> set global validate_password_policy=0;

//验证密码最小长度

mysql> set global validate_password_length=0;

//查看密码策略

mysql> show variables like 'validate_password%';

//查看端口号

show global variables like 'port';

 

posted @ 2019-10-17 11:39  古龙•历山大亚  阅读(160)  评论(0编辑  收藏  举报