• 处理普通用户安装启动mysql报Can‘t find error-message file‘usrsharemysqlerrmsg.sys‘ 问题


    操作系统:centos7
    mysql版本:5.7.29
    使用普通用户安装完成以后,启动mysql:
    /data/mysql/usr/sbin/mysqld --defaults-file=/data/mysql/etc/my.cnf --user=dongzw &
    日志中报:
    [ERROR] Can’t find error-message file '/usr/share/mysql/errmsg.sys’. Check error-message file location and ‘lc-messages-dir’ configuration directive.
    大概搜索了一下,在my.cnf中添加
    basedir=/data/mysql
    再启动,报错变成了:
    [ERROR] Can’t read from messagefile ‘/data/mysql/share/mysql/errmsg.sys’
    注意报错路径改变了,由/usr变成了/data,此时在安装路径下查找errmsg.sys文件:
    [dongzw@localhost mysql]$ find /data/ -name errmsg.sys
    /data/mysql/usr/share/mysql/bulgarian/errmsg.sys
    /data/mysql/usr/share/mysql/czech/errmsg.sys
    /data/mysql/usr/share/mysql/danish/errmsg.sys
    /data/mysql/usr/share/mysql/dutch/errmsg.sys
    /data/mysql/usr/share/mysql/english/errmsg.sys

    看名字,应为各国语言的版本,这里选择english版本,新建并把文件拷到报错路径,当前路径为:/data/mysql
    [dongzw@localhost mysql]$ mkdir -p share/mysql
    [dongzw@localhost mysql]$ cp /data/mysql/usr/share/mysql/english/errmsg.sys share/mysql/
    停止mysql:
    /data/mysql/usr/bin/mysqladmin -uroot -proot -S /data/mysql/mysql.sock shutdown
    再次启动,只有Warning信息了,问题解决。

    解决方式2:
    根据上面的查找到的errmsg.sys信息,可在my.cnf中配置:
    lc-messages-dir=/data/mysql/usr/share/mysql/english
    my.cnf中去掉basedir=/data/mysql
    或者在启动命令加上–lc-messages-dir参数也可以解决问题:
    /data/mysql/usr/sbin/mysqld --defaults-file=/data/mysql/etc/my.cnf --lc-messages-dir=/data/mysql/usr/share/mysql/english–user=dongzw &

    附:安装5.7.29初始化数据库命令:
    [dongzw@localhost data]$ /data/mysql/usr/sbin/mysqld --initialize --defaults-file=/data/mysql/etc/my.cnf --user=dongzw
    如果报:
    [ERROR] unknown variable ‘defaults-file=/data/mysql/etc/my.cnf’
    [ERROR] Can’t find error-message file ‘/usr/share/mysql/errmsg.sys’. Check error-message file location and ‘lc-messages-dir’ configuration directive.
    需要把 --initialize放到–defaults-file后面
    /data/mysql/usr/sbin/mysqld --defaults-file=/data/mysql/etc/my.cnf --initialize --user=dongzw

    my.cnf简单配置文件:

    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

    [client]
    port = 3306
    socket = /data/mysql/mysql.sock
    default-character-set = utf8

    [mysqld]
    port = 3306
    character-set-server = utf8

    # Remove leading # and set to the amount of RAM for the most important data
    # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
    innodb_buffer_pool_size = 128M

    # Remove leading # to turn on a very important data integrity option: logging
    # changes to the binary log between backups.
    # log_bin

    # Remove leading # to set options mainly useful for reporting servers.
    # The server defaults are faster for transactions and fast SELECTs.
    # Adjust sizes as needed, experiment to find the optimal values.
    join_buffer_size = 128M
    sort_buffer_size = 2M
    read_rnd_buffer_size = 2M
    basedir=/data/mysql
    datadir=/data/mysql/data
    socket=/data/mysql/mysql.sock

    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0

    log-error=/data/mysql/mysqld.log
    pid-file=/data/mysql/mysqld.pid
    secure-file-priv=/data/mysql/var/lib/mysql-files
    explicit_defaults_for_timestamp=true

  • 相关阅读:
    Python 使用 Tkinter库 设置 tkinter ttk 框架的背景颜色
    基于Matlab通过惯性传感器融合估计方向(附源码)
    以太坊智能合约方法初探
    Java多线程——死锁的成因与解决
    树/二叉树/森林之间的相互转换 与遍历
    CISP考试有哪些备考技巧
    【mysql 提高查询效率】Mysql 数据库查询好慢问题解决
    cad文字转arcgis注记
    CSS常见选择器
    Navicat使用HTTP通道服务器进行连接mysql数据库(超简单三分钟完成),centos安装nginx和php,docker安装nginx+php合并版
  • 原文地址:https://blog.csdn.net/drnrrwfs/article/details/126565593