liunx 5.6版本 本人安装次数不下20次,基本上按照正常的操作流程不会出现什么问题,一切顺利。

今天开发新项目需要按照mysql 5.7 版本。mysql 5.7版本和mysql 5.6版本变化挺大的,按照流程稍作休整。

例如:mysql 5.6 初始化使用 scripts目录下面的mysql_install_db  命令,而mysql 5.7 初始化使用 bin目录下

的mysqld --initialize

但是本人在首次尝试按照mysql5.7版本是还是遇到了一些麻烦例如:

安装mysql 5.7.17 版本

在前面的各种正常操作后开始初始化,初始化和mysql 5.6 基本一致,我的数据库数据目录放入/work/data 下面,和安装目录分开的

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/work/mysql/data  --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp

然而初始化失败,错误信息如下

根据安装经验,初始化出现错的的很少,一般都在启动mysql时报各种错误,也基本上都是因为初始化时my.cnf文件没处理好。

贴一下我的my.cnf

[mysqld]
datadir=/work/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
skip-name-resolve
character-set-server = utf8mb4
#最大连接数
max_connections = 3000
#内部内存临时表的最大值 ,设置成128M。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 134217728
max_heap_table_size = 134217728

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

[mysqld_safe]
user=mysql
tmpdir = /tmp
log-bin= /usr/local/mysql/data/mysql-bin
log-error= /usr/local/mysql/data/error.log
pid-file= /usr/local/mysql/data/mysql.pid

检查了几遍,没看出有什么问题,而且这个my.cnf文件在安装mysql 5.6 时候已经使用过多次,不可能出现问题。

猜测:版本问题。删除了mysql 5.7.17,顺便将初始化过程中数据目录/work/mysql/data 里面的文件删除掉,重新下载别的版本。

重新下载了一个mysql 5.7.24 版本 下载链接:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz。

安装刚才的步骤执行初始化,成功了。信息如下:

这里已经将初始密码给出来,在root@localhost: 后面那个随机字符串就是

初始化成功后接着执行,修改权限,只将data目录权限留给mysql

chown -R root:root .

chown -R mysql:mysql data

将mysql 添加到启动服务中

cp support-files/mysql.server /etc/init.d/mysql

注意:这里添加的是/etc/init.d/mysql 启动mysql 时候使用命令:service mysql start

如果cp support-files/mysql.server /etc/init.d/mysqld 启动命令:service mysqld startd

可以查看一下开启列表:chkconfig --list  有没有mysql

启动mysql: service mysql start  报错:

mysqld_safe error: log-error set to '/usr/local/mysql/data/error.log', however file don't exists. Create writable for user 'mysql'.
The server quit without updating PID file (/work/mysql/data[FAILED]yx9nw1yvph1w96fZ.pid)

原因很明显,没有找到这个错误日志文件,这个文件在mysql 5.6安装时候系统会自动创建的。

创建error.log文件:touch /usr/local/mysql/data/error.log

给以mysql执行权限:chown -R mysql:mysql /usr/local/mysql/data/error.log

再次启动mysql

Starting MySQL.                                            [  OK  ]

下面就是登陆msyql ,修改初始密码,创建远程登陆用户等一些操作

查看数据库数量  show databases  报错信息You must reset your password using ALTER USER statement before executing this statement.

修改密码

alter user user() identified by "123456";

后续步骤 略。。。。

liunx mysql 5.7 二进制安装的更多相关文章

  1. Mysql数据库的二进制安装和基础入门操作

    前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...

  2. MySQL数据库的二进制安装、源码编译和基础入门操作

    一.MySQL安装 (1)安装方式: 1 .程序包yum安装 优点:安装快,简单 缺点:定死了各个文件的地方,需要修改里边的相关配置文件,很麻烦 2 .二进制格式的程序包:展开至特定路径,并经过简单配 ...

  3. mysql 5.6二进制安装

    1.  进入用户家目录创建tools文件夹 # cd ~ #mkdir tools 2.下载MySQL5.6二进制包(搜狐镜像里有各版本下载http://mirrors.sohu.com/mysql/ ...

  4. 8.0.17 MySQL Community Server 二进制手工安装

    8.0.17 MySQL Community Server 二进制手工安装 环境简介 操作系统:Centos 6.10 64位目前版本:8.0.17 MySQL Community Server 二进 ...

  5. mysql8.0.16二进制安装

    mysql8.0.16二进制安装 环境简介操作系统:Centos 6.10 64位 目前版本:8.0.16 MySQL Community Server 二进制 安装目录:/data/mysql/my ...

  6. ubuntu14.04下简易二进制安装mysql

    下载mysql-commnunity的5.6.24通用二进制版 tar解压 我安装到/opt目录,所以mv到/opt/ 可选,建了个软链 ln -s *** mysql 添加运行mysql服务的用户和 ...

  7. Mysql的二进制安装和基础入门操作

    前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...

  8. MySQL RPM二进制安装

    +++++++++++++++++++++++++++++++++++++++++++标题:MySQL RPM二进制安装时间:2019年2月24日内容:MySQL RPM二进制安装重点:MySQL R ...

  9. MySQL免编译二进制包安装简记

    相比较于MySQL的源代码安装来说.免编译二进制包的速度实在是快了太多,而且性能损失也不是很大,同时具有一定的定制性.所以,如果没有特殊的 需求,尽量用MySQL免编译二进制包来安装MySQL. 1. ...

随机推荐

  1. cmd命令下载maven管理需要的依赖jar包

    首先在maven官网https://mvnrepository.com/  搜索你需要的jar包,找到下面的下载链接,在修改命令,然后cmd下载. cmd命令下载Maven需要jar包 cmd输入下面 ...

  2. JavaScript判断两个对象内容是否相等

    ES6中有一个方法判断两个对象是否相等,这个方法判断是两个对象引用地址是否一致 let obj1= { a: 1 } let obj2 = { a: 1 } console.log(Object.is ...

  3. ECS 系统 Entity-Component-System

    已经推出了很久了, 貌似也有一些人开始使用, 我是在看守望先锋的程序设计相关文章的时候看到 ECS 的, 从它的设计逻辑上看, 核心就是 Composition over inheritance (o ...

  4. linux搭建jenkins+github详细步骤

    事情缘由: 现在在做的主要工作是通过jenkins+postman实现api的自动化测试,想要达到的效果是,api自动化测试定时跑脚本的同时,github有新的代码提交,jenkins会自动检测部署新 ...

  5. 4-form表单的双向绑定

    概念:表单中的input框等其他标签,值变化时会触发函数,改变state中的值,反过来修改state中的值也会改变input框中值的展现 实现:利用类组件里的state属性来实现(setState会再 ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:缩写

    <!DOCTYPE html> <html> <head> <title>Bootstrap 实例 - 缩写</title> <lin ...

  7. 02-07Android学习进度报告七

    今天主要学习了关于Android开发的Date和Time组件部分内容. 首先看TextClock: 可以通过调用:TextClock提供的is24HourModeEnabled()方法来查看,系统是否 ...

  8. 五、linux基础-shell机制

    5.1 shell机制1.Linux命令程序员可以看懂,但是操作系统是不懂这句话的含义的.因为所有的命令必须重新被解释然后传递给Linux内核才可以执行.这一被解释的机制就是shell. Linux命 ...

  9. vue-cli 手脚架mock虚拟数据的运用,特别是坑!!!

    1.现在基本的趋势就是前后分离,前后分离就意味着当后台接口还没完成之前,前端是没有接口可以拿来调用的 ,那么mock虚拟数据就很好的解决了这一问题,前端可以直接模拟真实的数据AJAX请求! 运用 步骤 ...

  10. JS array delete splice 区别

    Delete in this case will only set the element as undefined: > myArray =['a','b','c','d'] >dele ...