zoukankan      html  css  js  c++  java
  • liunx mysql 5.7 二进制安装

    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";

    后续步骤 略。。。。

  • 相关阅读:
    微信小程序登录
    cURL error 60: SSL certificate problem: unable to get local issuer certificate 报错解决
    MyBatis学习之一----基础了解
    web工程和java工程的区别
    StringUtils的实用功能
    SpringMVC-----部分功能学习
    SpringMVC之国际化
    SpringMVC
    web.xml配置详解
    Hibernate学习-----遇到的相关问题
  • 原文地址:https://www.cnblogs.com/prettrywork/p/10942746.html
Copyright © 2011-2022 走看看