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 ...
随机推荐
- 解决easyUI中翻页后前面已钩选项自动变为未选择的问题
在easyUI的datagrid中,必须在属性的第一条就要写 idField:'id' (只要创建数据表格,就必须要加idField),其中id是页面数据的主键名称. 这样设置之后,表格翻页之后,前面 ...
- SQL函数总结
字符串函数
- vue mock
如果后端不肯来帮你 mock 数据的话,前端自己来 mock 也是很简单的.你可以使用mock server 或者使用 mockjs + rap 也是很方便的. 不久前出的 easy-mock也相当的 ...
- superset在 centos 7安装运行
参考:1.http://blog.csdn.net/u014729236/article/details/76302888?locationNum=2&fps=1 2.https://www. ...
- npm 命令
npm instal moduleName [-g] :安装模块,有 -g 或 --global 是全局安装 npm install -g cnpm --registry=https://regis ...
- Auzone AT60 TPMS Tool Update & Authorization Service: FREE
This is a tutorial with step-of-step explanation of Auzone AT60 TPMS Tool Update & Authorization ...
- 深入Dockerfile(一): 语法指南(转)
最近在学习K8S,发现这两篇文章还不错,转了过来 docker官方文档Dockerfile reference的笔记. 一.机制 1.1 构建 docker构建一个镜像,需要: Dockerfile文 ...
- Node.js的内存问题
v8堆内存限制默认是1GB,所以可能成为瓶颈. 但是Buffer的内存不受限制,而且可以开多个Nodejs实例然后通过代理进行负载均衡,不过不知道这样效果怎么样呢? 但是基本上应该内存的话不会成为单实 ...
- .net core 获取客户端ip
1.NUGET安装 Microsoft.AspNetCore.Http 2.在 startup.cs 的 ConfigureServices 中注入 services.AddSingleton< ...
- 您可能不知道的CSS元素隐藏“失效”以其妙用
您可能不知道的CSS元素隐藏“失效”以其妙用 by zhangxinxu from http://www.zhangxinxu.com地址:http://www.zhangxinxu.com/word ...