mysql安装使用

 

linux系统

  1. mysql-5.7.14-linux.zip部署包支持在CentOS 6.x/7.x
  2. 服务器硬盘大小要求    

a) /data/mysql_data  如果存在该独立分区,要求该分区 >10G

b) 如果仅存在 /data 分区, 要求该分区 >10G

c) 否则,要求根分区/ > 10G

  1. MySQL_INSTALL_2016-08-17_08-25-29 文件

sha256 ecc8dbe15c120017b4f56fcffd09239e9da84128e0378979997799b3d62e8f3a

验证方法:输入sha256sum MySQL_INSTALL_2016-08-17_08-25-29 计算是否一致

  1. 默认账号 root 初始密码
  2. Mysql程序目录为/opt/mysql_data
  3. Mysql配置文件为/etc/my.cnf
  4. 建议将配置文件中########innodb settings########章节中的innodb_buffer_pool_size = 512M 修改为服务器内存大小的50%-80%
  5. Mysql服务器启动命令:service mysqld start
  6. 停止命令:service mysqld stop
  7. 重启命令: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.bin

3、请耐心等待自动安装,不要做其他操作,直至出现下图提示安装完成后服务器自动重启,重启mysql服务自动启动 

 

 Windows安装说明

步骤1

解压mysql-5.7.11-winx64.zip,讲mysql文件夹拷贝至所需的安装目录;以下操作步骤演示以拷贝至C盘根目录为例;项目存放路径放在容量较大磁盘

 

步骤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后会给出安装mysqlroot随机密码

 步骤4

注册服务,继续在改命令行窗口中输入以下命令

mysqld --install

 

 

最后服务中启动mysql服务即可 

FAQ

修改登录密码

在使用默认密码登录后使用以下命令重置密码,其中newpassword表示重置的新密码

alter user 'root'@'localhost' identified by 'newpassword';

 

使用navicat还原mysql数据库的注意事项

使用navicat备份还原,其本质还是逻辑备份还原,只是在外面做了一层包装,在还原的过程中,会出现如下的问题:

出现这个问题的原因有如下几种可能性:

  1. 还原过程中使用了不符合GTID要求的语法,比如create table XXX select …;
  2. 设置autocommit=0后,事务内有临时表;

GTID的主要作用是让每个事务都有一个全局唯一的编号,这样在做高可用以及数据恢复的时候可以比较简单,而不用像以前去查找当前事务在哪个file的哪个pos。

目前在使用navicat还原时产生上述问题,数据库层面解决的办法如下:

  1. /etc/my.cnf中对应的三个配置项修改成如下

    autocommit = 1               

    enforce-gtid-consistency = 0

    gtid-mode = 0                

 

  1. 重启数据库 service mysqld restart
  1. navicat上把之前新建的数据库删除,重新建立数据库,然后再次导入数据,这样仅仅是在数据库层面解决这些报错信息,但是带来的问题需要注意:
  1. autocommit,默认配置里面autocommit是为0的,即用户写完SQL后,需要显示输入commit;才会提交数据,这样可以在一定程度上避免运维人员人工出错,至少在commit之前会看一眼上面的语句。现在autocommit=1以后,默认就输入后立即提交。
  1. GTID,GTID主要解决binlog中事务ID对应的问题,设置GTID以后,高可用设置以及数据从备份恢复时会比较容易。

现在关闭该选项后,高可用设置和还原需要和以前一样,去找filename以及pos。

UTF8问题

MySQL中的UTF8和我们所说C#Java中的UTF8两个概念,由于MySQL支持UTF8的时候,UTF8标准还没有出来,所以MySQLUTF8实现的并不完整,MySQL中的UTF8最多仅仅占用3字节,而目前标准的UTF8最多可占用4字节。

MySQL中完全实现UTF8标准的字符集是UTF8MB4,MySQL中的UTF8是UTFMB4子集。

建议使用UTF8MB4;

数据库层面临时解决问题的办法:

  1. 在 /etc/my.cnf 中character_set_server=utf8mb4 改成 character_set_server=utf8 。
  2. 重启数据库 service mysqld restart
  3. 删除数据库,重新建立数据,重新导入表即可。

注意方法仅仅是备份的时候,导入数据时的解决办法,如果没有备份,需要线上修改进行ALTER TABLE操作

 

posted @ 2019-03-18 15:57  wmqiang  阅读(178)  评论(0编辑  收藏  举报