扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1. 从官网下载zip archive版本
成都创新互联专注于企业全网整合营销推广、网站重做改版、通辽网站定制设计、自适应品牌网站建设、html5、成都做商城网站、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为通辽等各大城市提供网站开发制作服务。
2. 解压缩至相应目录,并配置环境变量(将*\bin添加进path中);
3. (重要)在根目录新建my.ini文件,写入以下内容:
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\Database\MySQL Server 5.7
# 设置mysql数据库的数据的存放目录
datadir=D:\Database\MySQL Server 5.7\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 跳过密码验证
#skip-grant-tables
4. 运行cmd(切记要用管理员身份);
5. (重要)执行命令mysqld --initialize
## 该步骤非常重要,因为之前的版本直接执行install命令便可安装服务,5.7之后需要初始化生成数据库文件(根目录下的data文件),否则后续无法启动服务;
6. 执行命令mysqld install,安装服务;
7. 执行命令net start mysql,启动服务;(停止服务net stop mysql)
8. 执行命令mysql -uroot -p,会报错ERROR 1045(28000),需要设置登录密码;
9. 打开配置文件my.ini,将skip-grant-tables前面的#去掉,然后重启服务,再次登录就可略过密码;
10. 进入mysql数据库,依次执行以下命令:
use mysql;
update user set authentication_string=password("root") where user="root";
flush privileges;
quit;
11. 打开配置文件my.ini,在skip-grant-tables前面加上#注释掉,然后重启服务,使用设置的密码再次登录;
12. 输入命令show databases,报错ERROR 1820 (HY000);
13. 修改一次密码set password=password("root");
14. 至此安装完成;
end
这是从网上找的,地址是:
方法/步骤
1
下载好后解压发现没有data文件夹,这可怎么办,网上查看了很多的发方法,总是看不懂,新版原来是改了,需要初始化,下面一步一步道来。
新建一个data文件夹。
打开配置文件my-default.ini看到里面的basedir和datadir是没有打开的,前面有#,路径也是以“……”表示。
去掉basedir和datadir前面的#
basedir添加的是MySQL的解压路径;
datadir添加的是MySQL的data文件夹路径。
接下来就是配置环境变量,首先先把bin的地址复制:打开MySQL解压文件夹里面的bin文件夹,将鼠标点击到地址栏选中,复制地址(这样做的目的是防止打字出错,而且方便)。
把刚刚复制的bin路径添加的Path变量值,具体方法是:打开电脑桌面:计算机—右键—高级系统设置—高级—环境变量(N)—修改Path;就是将复制的地址栏粘贴到最后。(这里注意的是不同的路径之间用英文的“;”分开)确定,退出。
打开dos界面,具体方法是:在开始输入cmd.exe回车。
这一步很重要,初始化MySQL,需要进到MySQL解压目录下的bin文件:具体方法是:这里以F盘下的路径为例:
F:回车
F:cd phptools\MySQL\bin(回车)
F:\phptools\MySQL\binmysqld --initialize-insecure --user=mysql(回车,这一步就是初始化)
当出现Service successfully installed表示MySQL服务已经安装了,就差启动了。
启动MySQL在之前的F:\phptools\MySQL\bin输入:net start mysql;
出现:MySQL服务启动成功,表示这一次配置完毕。
接下来就是开启新版的MySQL之旅了,打开dos界面,输入mysql -u root -p然后回车,提示输入密码,如果没有密码就回车。
查看版本。至此MySQL5.7.10安装完毕。
1、首先解压缩下载的安装包。
2、解压之后可以将该文件夹改名,例如mysql,放到合适的位置,比如放到C:\mysql路径中。
3、配置环境:
我的电脑-属性-高级-环境变量
选择PATH,在其后面添加: mysql\bin文件夹的路径 (如:C:\mysql\bin)
PATH=.......; C:\mysql\bin (在PATH最后添加分号;并填写路径)
4.修改mysql文件夹下配置文件,默认文件夹内有个名为my-default的配置文件,将其修改为my
再在其中修改或添加配置:
[mysqld]
basedir= "C:\mysql\"(mysql所在目录)
datadir= "C:\mysqldata\" (mysql data所在目录,需要在C盘下创建文件夹mysqldata)
在C盘下新建mysqldata文件夹。
5.以管理员身份运行cmd,执行命令mysqld --initialize 进行初始化创建1个文本文件,并将下述命令置于单一行中:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');用任意名称保存该文件。在本例中,该文件为C:\mysqldata\init.txt。在命令行中执行mysqld --init-file=C:\mysqldata\init.txt
此命令会不会自动退出,打开另一个cmd(不需要管理员权限),执行命令mysql -u root -p,按回车键,输入密码为MyNewPassword,即可进入mysql 。
退出mysqld 服务可以通过任务管理器结束mysqld.exe进程。
6.以管理员身份运行cmd,输入mysqld --install 安装mysql服务。
在计算机管理服务中会出现MySQL服务,以后想进入mysql,直接启动MySQL服务即可。
启动MySQL 会出现错误:
报错的原因是无法找到Mysql执行文件,通过修改注册表进行处理,到注册表里HKEY_LOCAL_MECHINE---SYSTEM ---CurrentControlSet---services 更改查找MySQL项值,然后改路径。
通过"win"键+R键一起按,调出“运行”窗口,输入regedit调出注册表
找到 HKEY_LOCAL_MECHINE---SYSTEM ---CurrentControlSet ---services
在services中找到MySQL
更改ImagePath 值为mysql\bin所在路径,例如本例中:"C:\mysql\bin\mysqld" MySQL
7.通过命令行执行net start mysql 或者是在计算机管理中的服务下启动MySQL,然后在命令行下输入mysql -u root -p 进入。
设置innodb 表的 压缩
第一,mysql的版本需要大于5.5
第二,设置innodb_file_format=barracuda
第三,create table或者alter talble 增加 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;(默认的key_block_size=16)
根据经验,一般压缩比例可以达到30%-40%
压缩表从名字上来看,简单理解为压缩后的表,也就是把原始表根据一定的压缩算法按照一定的压缩比率压缩后生成的表。
1.1 压缩能力强的产品
表压缩后从磁盘占用上看要比原始表要小很多。如果你熟悉列式数据库,那对这个概念一定不陌生。比如,基于 PostgreSQL 的列式数据库 Greenplum;早期基于 MySQL 的列式数据库 inforbright;或者 Percona 的产品 tokudb 等,都是有压缩能力非常强的数据库产品。
1.2 为什么要用压缩表?
情景一:磁盘大小为 1T,不算其他的空间占用,只能存放 10 张 100G 大小的表。如果这些表以一定的比率压缩后,比如每张表从 100G 压缩到 10G,那同样的磁盘可以存放 100 张表,表的容量是原来的 10 倍。情景二:默认 MySQL 页大小 16K,而 OS 文件系统一般块大小为 4K,所以在 MySQL 在刷脏页的过程中,有一定的概率出现页没写全而导致数据坏掉的情形。比如 16K 的页写了 12K,剩下 4K 没写成功,导致 MySQL 页数据损坏。这个时候就算通过 Redo Log 也恢复不了,因为几乎有所有的关系数据库采用的 Redo Log 都记录了数据页的偏移量,此时就算通过 Redo Log 恢复后,数据也是错误的。所以 MySQL 在刷脏数据之前,会把这部分数据先写入共享表空间里的 DOUBLE WRITE BUFFER 区域来避免这种异常。此时如果 MySQL 采用压缩表,并且每张表页大小和磁盘块大小一致,比如也是 4K,那 DOUBLE WRITE BUFFER 就可以不需要,这部分开销就可以规避掉了。查看文件系统的块大小:
root@ytt-pc:/home/ytt# tune2fs -l /dev/mapper/ytt--pc--vg-root | grep -i 'block size'Block size: 4096
1.3 压缩表的优势
压缩表的优点非常明显,占用磁盘空间小!由于占用空间小,从磁盘置换到内存以及之后经过网络传输都非常节省资源。
简单来讲:节省磁盘 IO,减少网络 IO。
1.4 压缩表的缺陷
当然压缩表也有缺点,压缩表的写入(INSERT,UPDATE,DELETE)比普通表要消耗更多的 CPU 资源。
压缩表的写入涉及到解压数据,更新数据,再压缩数据,比普通表多了解压和再压缩两个步骤,压缩和解压缩需要消耗一定的 CPU 资源。所以需要选择一个比较优化的压缩算法。
1.5 MySQL 支持的压缩算法
这块是 MySQL 所有涉及到压缩的基础,不仅仅用于压缩表,也用于其它地方。比如客户端请求到 MySQL 服务端的数据压缩;主从之间的压缩传输;利用克隆插件来复制数据库操作的压缩传输等等。
从下面结果可以看到 MySQL 支持的压缩算法为 zlib 和 zstd,MySQL 默认压缩算法为 zlib,当然你也可以选择非 zlib 算法,比如 zstd。至于哪种压缩算法最优,暂时没办法简单量化,依赖表中的数据分布或者业务请求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流