• ADADADADAD

    Linux 安装mysql 5.7.21 可能遇到的问题归类[ mysql数据库 ]

    mysql数据库 时间:2024-12-24 19:09:57

    作者:文/会员上传

    简介:

    1、Done with "file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common-5.7.9-1.el6

    解决方案:删除原来的包,重新安装。
    yum -y remove mysql-libs

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    1、Done with "file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common-5.7.9-1.el6

    解决方案:删除原来的包,重新安装。
    yum -y remove mysql-libs-*

    2、安装数据库 初始化(这里是以root身份执行的):bin/mysqld --initialize --user=mysql

    报错 [ERROR] --initialize specified but the data directory has files in it. Aborting.
    解决方案:密码初始化不成功 修改初始化密码
    方法一:
    # /etc/init.d/mysqld stop
    # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    # mysql -u root mysql
    # mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
    mysql> FLUSH PRIVILEGES;
    mysql> quit
    # /etc/init.d/mysqld restart
    # mysql -uroot -p
    Enter password: <输入新设的密码newpassword>
    mysql>
    注意 【’newpassword’’root’ 】
    ERROR 1054 (42S22): Unknown column '’root’' in 'where clause'
    将单引号更新为双引号

    注意 【Password】
    ERROR 1054 (42S22): Unknown column 'password' in 'field list'
    mysql> ERROR 1054 (42S22): Unknown column 'password' in 'field list'
    错误原因:mysql数据库下已经没有password这个字段了,password字段改成了authentication_string。
    update mysql.user set authentication_string=PASSWORD('password') where User='root';

    3、启动数据库服务 MySQL Daemon failed to start. 服务启动失败
    3.1、查看mysqld的log文件
    # less /var/log/mysqld.log
    /usr/libexec/mysqld: Can't change dir to ‘XXX' (Errcode: 13)
    3.2、首先是查看数据库日志
    mysqld started
    [Warning] Can't create test file xxx.lower-test
    [Warning] Can't create test file xxx.lower-test
    /usr/libexec/mysqld: Can't change dir to '/xxx' (Errcode: 13)
    [ERROR] Aborting
    首先检查数据目录和日志目录的权限和所属用户,权限和所属用户都没问题,那应该是SELINUX的权限限制了。
    3.3、先查看当前配置信息.
    # getenforce
    Enforcing
    就表明SELinux已经启用.只需要关闭即可。
    关闭方法:
    #setenforce 0 (0|1 开|关)
    或者
    setsebool ftpd_disable_trans 1
    命令也可以.
    3.4、查查数据库日志会出现
    mysqld started
    2018-04-17T03:48:30.343457Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
    2018-04-17T03:48:30.345407Z 0 [ERROR] Aborting
    错误:Please read "Security" section of the manual to find out how to run mysqld as root!
    根据提示,查了 /opt/redmine-1.2.1-1/mysql/docs/mysql.info的Security部分,发现是因为MySQL为了安全,不希望root用户直接启动mysql。
    解决方案
    1、root用户进行强制启动;在启动过程中,加入参数:--user=root 【service mysqld start --user=root】
    2、修改 /etc/init.d/mysqld 137
    $exec $MYSQLD_OPTS --datadir="$datadir" --socket="$socketfile" \
    --pid-file="$mypidfile" \
    --basedir=/usr --user=mysql $extra_opts >/dev/null &
    safe_pid=$!
    将mysql 更新为 root

    4、登录数据库报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo re executing this statement.直接执行:
    set password=password('密码');

    5、远程登录报错 Host is not allowed to connect to this MySQL server先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,
    解决方法如下:
    1. 在装有MySQL的机器上登录MySQL mysql -u root -p密码
    2. 执行use mysql;
    3. 执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
    4. 执行FLUSH PRIVILEGES;
    经过上面4步,就可以解决这个问题了。

    注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。

    Linux 安装mysql 5.7.21 可能遇到的问题归类.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: 5.7.21归类遇到