Linux 安装mysql 5.7.21 可能遇到的问题归类
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,1、Done with "file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common-5.7.9-1.e
千家信息网最后更新 2025年11月08日Linux 安装mysql 5.7.21 可能遇到的问题归类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的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。
解决方案:删除原来的包,重新安装。
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的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。
数据
数据库
登录
密码
权限
用户
方案
方法
日志
解决方案
错误
问题
成功
原因
字段
引号
所属
目录
更新
服务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库原理与应用性考任务三
驻马店青果网络技术怎么样
汽车屏幕软件开发
安全审计综合日志数据库
数据库安全技术简答题
全球 ip数据库
view证书服务器
咪咕音乐显示服务器异常
多服务器管理监控软件
电脑弹出数据库链接错误
湖南数据网络技术创新服务
杭州创新服务器怎么选择
sql数据库admin
C 编程 排除数据库数据
石家庄软件开发哪家便宜
电脑的中央服务器
网络安全等级保护条例颁布
许昌学院计算机网络技术专业收费
中文ei数据库
网络安全目标包括哪些
网络安全在个人隐私
阿里巴巴集网络技术有限公司
软件开发方案进度控制保障
生产服务器整机品质有几大标准
虚拟服务器技术产生的安全问题
DNS服务器默认端口为
wps怎么除去重复数据库
服务器运维工程师有前景
联合办公可以测服务器吗
重庆同方服务器选择