MySQL平时记录笔记
零,mysql的安装
http://blog.csdn.net/mhmyqn/article/details/17043921
https://www.cnblogs.com/wangjunyan/p/5183366.html
MySQL官网的Zip安装包安装方法:
1,将Zip包解压到 D:\workware\mysql-8.0.13-winx64
2,【注:貌似8.0.13不再需要my.ini配置文件了,有机会可以验证一下】在此文件夹下新建data文件夹用于存放数据库数据(库,表等信息),新建my.ini配置文件,写入如下信息
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port =
# 设置mysql的安装目录 basedir=D:\workware\mysql-8.0.-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\workware\mysql-8.0.-winx64\data # 允许最大连接数
max_connections=
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB3,以管理员身份运行cmd,进入D:\workware\mysql-8.0.13-winx64\bin目录,执行 mysqld --initialize,执行完这一步之后,在D:\workware\mysql-8.0.13-winx64\data目录下有一个以计算机名称命名的.err后缀的文件。在里面有MySQL初始化的密码(如果运行mysqld --initialize-insecure 命令则不会设置root密码,如果使用mysqld --initialize --console,则会将文件里的内容打印到控制台,方便查询), 如下:
--10T14::.568243Z [Note] [MY-] [Server] A temporary password is generated for root@localhost: ld%T8oMob-S34, 然后执行mysqld install命令安装mysql服务
5, 成功之后再启动MySQL服务:net start mysql
6,登录MySQL, mysql -uroot -p, 然后输入.err文件里的密码,就可以进入MySQL内部了。当首次进入MySQL执行SQL语句时,MySQL会提醒你使用ALTER USER命令重置密码
You must reset your password using ALTER USER statement before executing this statement.
。运行以下命令即可。ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';7※,以上就把zip包的MySQL安装好了。其他一些可能用到到命令:
7.1, 执行mysqld --remove(mysqld -remove也一样)命令可以将以前的错误安装删除 。注意直接卸载会报错服务在运行,需要先停止服务 net stop mysql ,然后卸载。
1,windows下,mysql密码忘记了解决方法 以及启动MySQL遇到1067系统错误的解决方法
1,首先,需要关闭MySQL Server服务。在“运行”窗口,输入“services.msc”,进入“服务”窗口。在服务窗口,可以找到“MySQL56”,选定,将其“停止”即可。
这样,MySQL Server服务就停止了。需要说明的是,这里的“MySQL56”受版本限制。举例来说,如果你的MySQL的版本是5.1,那么此时就是就是“MySQL51”。当然,也可以在命令行窗口使用“net stop MySQL56”来停止服务。2,接着,需要使用到MySQL的安装位置。其实,我们之所以想知道MySQL的安装位置,是为了获取其下的.ini文件的位置。该文件记录了MySQL的配置信息。如果我们想跳过登录权限,就必须获取该文件的位置。需要注意的是,不同版本的.ini文件的名称不同,在MySQL 5.1时,它是my.ini,而在MySQL 5.6则是my-default.ini。
3,接着,打开命令行窗口,输入如下的命令:
C:\Users\wang>mysqld --defaults-file="D:\Program Files\MySQL\MySQL Server 5.6\my-default.ini" --console --skip-grant-tables需要说明的是,此时该窗口不可再写入。这也是检验命令是否正确执行的一个标准。
4, 另外打开一个命令行窗口,输入命令:mysql -u root -p,回车即可进入mysql命令行界面。
接下来,只需要修改系统数据库,将密码进行更新即可。需要使用到的命令是:
mysql->show database;
mysql->use mysql
mysql->update user set password=PASSWORD('12345') where USER='root';
这样,就将新密码设为了12345。
5,重新启动mysqld: net start mysqld(wampmysqld),如果遇到1067的错误(注:后来某天又遇到了这个错误,发现是my.ini配置文件里格式错误!),输入以下命令:
c:\mysql\bin\ mysqladmin-u root -p shutdown 然后再次net start mysqld即可
2,MySQL中没有boolean类型,而是用tinyint(1)来表示布尔类型。所以一些字段如果设置成tinyint(1),配合一些java框架,就会出现一些莫名其妙的问题,字段里存的是0,1,2,3,结果用框架查出来的值为 true,false(还有可能为null)。
3, 复合索引顺序,explain
4,关于MySQL中的 count(1), count(*), count(column)的说明:https://blog.csdn.net/quiet_girl/article/details/88641787
1,count(1) 和 count(*) 没有任何区别,性能也没有区别。结果为null的count(1)和count(*)也会统计在内。聚合函数只有这两个会统计null结果,其他的都不会。
2,count(column) 不会统计结果为null的行。
3,其他聚合函数(如,sum,avg,max,min等)也不会统计结果为null的行。
4,
5,MySQL中update语句如果数据没有变化(即受影响的行为0时),update_time也是不会变的!还以为job没跑,原来是这个原因。
7,查询数据的序号
SELECT @i:=@i+1, id from knowledges k, (select @i:=0) j order by k.id asc
8,
9,一台服务器上(linux)启动两个mysql实例
操作环境:centos6.8
有时由于服务器硬件资源紧张,而又需要新增mysql服务。这时我们可以采取在一台服务器上部署两个mysql实例,来解决。
1、创建新的mysql实例数据存储目录:
mkdir -p /mnt/data/mysql/data
将 /mnt/data/mysql 目录设置为mysql用户组
chown -R mysql:mysql /mnt/data/mysql
2、把my.cnf配置文件复制一份,开几个端口要复制几份。(whereis my.cnf查看原来的文件位置或者mysql --help | grep my.cnf)
cp /etc/my.cnf /mnt/data/mysql/my.cnf
3、修改/data/mysql_3307/my.cnf文件,把默认的3306端口改成 3307,根据实际情况修改socket,basedir,datadir 。
[client]
port = 3307
socket = /tmp/mysql_3307.sock
default-character-set = utf8The MySQL server
[mysqld]
port = 3307
user = mysql
socket = /tmp/mysql_3307.sock
basedir = /usr
datadir = /data/mysql_3307
character-set-server = utf84、初始化数据库: ( select @@basedir 查看MySQL安装路径, @@datadir数据存储路径)
mysqld --defaults-file=/mnt/data/mysql/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/mnt/data/mysql/data --initialize (--user表示用操作系统的哪个用户执行mysqld进程)
这里会生成一个随机密码,记下来后面需要,注意有时候密码是类似这样的:root@localhost: //dwCy&uQ8BR 。 这里的两个斜杠也是密码的一部分!!!
【这一步折腾了好久, 报错unable to lock .....,解决方法是my.cnf中注释掉一些配置:1, 日志相关的配置;2,innodb_flush_method=0_DIRECT】
5、启动mysql,要指定.cnf文件启动
mysqld_safe --defaults-file=/mnt/data/mysql/my.cnf --user=mysql &
6、停止MYSQL,需要指定对应的sock文件。
mysqladmin -uroot -S /tmp/mysql_3307.sock shutdown
7、登陆3307端口的mysql
mysql -uroot -p'xxx' -S /tmp/mysql_3307.sock -P 3307
8、登录后第一步需要修改密码
mysql> set password for root@localhost = password('123456')
9、修改mysql库中User表中的用户 root对应的Host 为 "%",这样用Navicat也可以连接了。
use mysql;
update user set Host="%" where User="root"
flush priviledges;// 将此修改立即生效而无需重启MySQL
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
MySQL平时记录笔记的更多相关文章
- 《高性能MySQL》读书笔记--锁、事务、隔离级别 转
1.锁 为什么需要锁?因为数据库要解决并发控制问题.在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它.为了保证数据的一致性,数据库就要对这种并发操作进 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- mysql颠覆实战笔记(四)--商品系统设计(一):商品主表设计
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸 ...
- mysql颠覆实战笔记(三)-- 用户登录(二):保存用户操作日志的方法
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸 ...
- mysql颠覆实战笔记(二)-- 用户登录(一):唯一索引的妙用
版权声明:笔记整理者亡命小卒热爱自由,崇尚分享.但是本笔记源自www.jtthink.com(程序员在囧途)沈逸老师的<web级mysql颠覆实战课程 >.如需转载请尊重老师劳动,保留沈逸 ...
- Mysql DOC阅读笔记
Mysql DOC阅读笔记 转自我的Github Speed of SELECT Statements 合理利用索引 隔离调试查询中花费高的部分,例如函数调用是在结果集中的行执行还是全表中的行执行 最 ...
- MYSQL数据库学习笔记1
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
- 基于【 MySql 】二 || mysql详细学习笔记
mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...
随机推荐
- Scratch 数字游戏
本想用Scratch给女儿做一个类似舒尔特方格的程序来认识数字和提升专注,想想这对刚刚3岁的孩子来说还是比较困难的,于是只做了3*3的方格,来认识数字1-9. 游戏地址:Random 9 v0.21 ...
- [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装bitbucket 5.7.0
[原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(四) -- 安装bitbucket 5.7.0 安装Bitbucket的教程, 网上能找见的不多, ...
- 一条分页的SQL语句
1.概述 在网页中如果显示的数据太多就会占据过多的页面,而且显示速度也会很慢.为了控制每次在页面上显示数据的数量,就可以利用分页来显示数据. 2.技术要点 在SQL Server中要实现SQL分页,需 ...
- Mysql JSON字段提取某一个属性值的函数
mysql从5.7开始才支持JSON_EXTRACT等 JSON相关的函数, 项目里用到的mysql是5.6的,需要提取JSON字段里某一个属性值进行统计, 自己写了一个笨的提取方法: CREATE ...
- Redis安装教程及可视化工具RedisDesktopManager下载安装
Redis安装教程: 1. Windows下安装教程: 下载:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要 ...
- Debian如何永久添加静态路由
在RedHat(RHEL)/CentOS/Fedora Linux环境永久添加静态路由通常是写在诸如/etc/sysconfig/network-scripts/route-eth0这些文件里.在De ...
- 微信小程序获取二维码参数
var scene = decodeURIComponent(options.scene)
- Spring常用注解总结(1)
前言:项目中常用的注解常看常记,总会对自己有些好处,所以在这里分享一下. 使用spring时,可以使用xml配置文件配置相关信息.但是我还是喜欢用注解的方式,因为可以充分利用反射机制获取类结构信息,而 ...
- python基础 (函数名,闭包,和迭代器)
1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么 ...
- github ignore 规范
转自:https://www.cnblogs.com/xuld gitignore 应该包含 5 块内容: 当前项目需要忽略的文件 项目性质需要忽略的文件(比如是 nodejs 项目,有些文件就需要忽 ...