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';

mysql 的使用的更多相关文章

  1. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  2. mysql每秒最多能插入多少条数据 ? 死磕性能压测

    前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...

  3. LINUX篇,设置MYSQL远程访问实用版

    每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...

  4. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  5. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  6. 闰秒导致MySQL服务器的CPU sys过高

    今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...

  7. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  8. Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制

    将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...

  9. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境

    首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...

  10. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

随机推荐

  1. 十三、postman导出java代码

    导出成java的OkHttp代码 使用Junit进行接口自动化测试 使用fastJSON解析json字符串 创建个实体类 package com.netease.AcFunTest; public c ...

  2. C# Newtonsoft.Json解析json字符串处理(最清晰易懂的方法)

    需求: 假设有如下json字符串: { ", "employees": [ { "firstName": "Bill", &quo ...

  3. Eclipse新项目检出后报错第一步:导入lib中的jar包【我】

    新检出项目报错,第一步,先看项目 web-info下的 lib目录里的包是不是都添加到项目构建中了,可以全选先添加到项目构建中,看项目是否还在报错.

  4. 数据分析入门——pandas之DataFrame数据丢失

    一.数据丢失分类 1)nd中分为两种:None和np.nan(NaN) 其中,None是python中的对象,是一个object:而nan是一个float类型 两种不同的类型,运算速度也是不同的 2) ...

  5. EasyNVR网页Chrome无插件播放摄像机视频功能二次开发之云台控制接口示例代码

    随着多媒体技术和网络通信技术的迅速发展,视频监控技术在电力系统.电信行业.工业监控.工地.城市交通.水利系统.社区安防等领域得到越来越广泛的应用.摄像头直播视频监控通过网络直接连接,可达到的世界任何角 ...

  6. 关于PLSQL配置了正确的Oracle客户端但是不能识别tnsnames.ora问题

    场景描述: 在通过安装Oracle客户端使用PLSQL的时候发现PLSQL在已经正常配置了Oracle Home和Ocdi library的情况下不能识别tnsnames.ora中的有效配置. 正常安 ...

  7. vue 里 this.$parent 作用

    this.$parent 可以访问到父组件 上所有的 data(){ 里的数据信息和生命周期方法,methods里的方法 }!

  8. [LeetCode] 686. Repeated String Match 重复字符串匹配

    Given two strings A and B, find the minimum number of times A has to be repeated such that B is a su ...

  9. Django文档阅读之查询

    创建对象 为了在Python对象中表示数据库表数据,Django使用直观的系统:模型类表示数据库表,该类的实例表示数据库表中的特定记录. 要创建对象,请使用模型类的关键字参数对其进行实例化,然后调用s ...

  10. Appium元素定位难点:tap坐标定位不准确

    tap用法 1.tap是模拟手指点击页面上元素语法有两个参数,第一个是positions,是list类型最多五个点,duration是持续时间,单位毫秒 tap(self, positions, du ...