linux系统
- mysql-5.7.14-linux.zip部署包支持在CentOS 6.x/7.x
- 服务器硬盘大小要求
a) /data/mysql_data 若是存在该独立分区,要求该分区 >10Gmysql
b) 若是仅存在 /data 分区, 要求该分区 >10Glinux
c) 不然,要求根分区/ > 10Gsql
- MySQL_INSTALL_2016-08-17_08-25-29 文件的
sha256为 ecc8dbe15c120017b4f56fcffd09239e9da84128e0378979997799b3d62e8f3a数据库
验证方法:输入sha256sum MySQL_INSTALL_2016-08-17_08-25-29 计算值是否一致服务器
- 默认帐号 root 初始密码
- Mysql程序目录为/opt/mysql_data
- Mysql配置文件为/etc/my.cnf
- 建议将配置文件中########innodb settings########章节中的innodb_buffer_pool_size = 512M 修改成服务器内存大小的50%-80%
- Mysql服务器启动命令:service mysqld start
- 中止命令:service mysqld stop
- 重启命令:service mysqld restart
操做步骤
1、将mysql-5.7.14-linux.zip部署包中MySQL_INSTALL_2016-08-14_15-37-36.bin文件上传至/opt目录中运维
2、使用root帐号执行sh /opt/MySQL_INSTALL_2016-08-14_15-37-36.binide
3、请耐心等待自动安装,不要作其余操做,直至出现下图提示安装完成后服务器自动重启,重启后mysql服务自动启动 spa
Windows安装说明命令行
步骤1
解压mysql-5.7.11-winx64.zip,讲其中mysql文件夹拷贝至所需的安装目录;如下操做步骤演示以拷贝至C盘根目录为例;项目上存放路径放在容量较大磁盘3d
步骤2
修改mysql目录下的my.int配置文件,将其中路径修改成mysql所在路径
其中innodb_buffer_pool_size = 6G 建议修改成服务器内存大小的50%-80%
步骤3
以管理员方式打开命令行,进入mysql文件夹bin目录,输入如下命令进行安装
mysqld.exe --defaults-file=C:\mysql\my.ini --user=mysql --initialize --console
在初始化完MySQL后会给出安装mysql后root的随机密码
步骤4
注册服务,继续在改命令行窗口中输入如下命令
mysqld --install
最后服务中启动mysql服务便可
FAQ
修改登陆密码
在使用默认密码登陆后使用如下命令重置密码,其中newpassword表示重置的新密码
alter user 'root'@'localhost' identified by 'newpassword';
使用navicat还原mysql数据库的注意事项
使用navicat备份还原,其本质仍是逻辑备份还原,只是在外面作了一层包装,在还原的过程当中,会出现以下的问题:
出现这个问题的缘由有以下几种可能性:
- 还原过程当中使用了不符合GTID要求的语法,好比create table XXX select …;
- 设置autocommit=0后,事务内有临时表;
GTID的主要做用是让每一个事务都有一个全局惟一的编号,这样在作高可用以及数据恢复的时候能够比较简单,而不用像之前去查找当前事务在哪一个file的哪一个pos。
目前在使用navicat还原时产生上述问题,数据库层面解决的办法以下:
- 在/etc/my.cnf中对应的三个配置项修改为以下
autocommit = 1
enforce-gtid-consistency = 0
gtid-mode = 0
- 重启数据库 service mysqld restart
- 在navicat上把以前新建的数据库删除,从新创建数据库,而后再次导入数据,这样仅仅是在数据库层面解决这些报错信息,可是带来的问题须要注意:
- autocommit,默认配置里面autocommit是为0的,即用户写完SQL后,须要显示输入commit;才会提交数据,这样能够在必定程度上避免运维人员人工出错,至少在commit以前会看一眼上面的语句。如今autocommit=1之后,默认就输入后当即提交。
- GTID,GTID主要解决binlog中事务ID对应的问题,设置GTID之后,高可用设置以及数据从备份恢复时会比较容易。
如今关闭该选项后,高可用设置和还原须要和之前同样,去找filename以及pos。
UTF8的问题
MySQL中的UTF8和咱们所说的C#、Java中的UTF8是两个概念,因为MySQL在支持UTF8的时候,UTF8标准尚未出来,因此MySQL的UTF8实现的并不完整,MySQL中的UTF8最多仅仅占用3个字节,而目前标准的UTF8最多可占用4个字节。
MySQL中彻底实现UTF8标准的字符集是UTF8MB4,即MySQL中的UTF8是UTFMB4的子集。
建议使用UTF8MB4;
数据库层面临时解决问题的办法:
- 在 /etc/my.cnf 中将character_set_server=utf8mb4 改为 character_set_server=utf8 。
- 重启数据库 service mysqld restart
- 删除数据库,从新创建数据,从新导入表便可。
注意:该方法仅仅是有备份的时候,导入数据时的解决办法,若是没有备份,须要线上修改的话,请进行ALTER TABLE操做。