Linux 安装mysql 5.7.21 可能遇到的问题归类
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,1、Done with "file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common-5.7.9-1.e
千家信息网最后更新 2025年01月24日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和端口 服务器
云服务器512 卡
别的手机无法连接华为服务器
服务器的数字版权管理
网易云网络技术
蒙泰软件开发公司
无锡进口网络技术服务价格
坦克前线什么时候开新服务器
苹果恢复服务器时间
网络安全的体系构建包括哪些
esp32搭个人服务器
甘肃省网络安全宣传周即将启幕
方舟买服务器
互联网网络安全法案例
数据库表的物理名称
天津免费域名解析服务器云主机
魔兽世界部落pve服务器
浙江益祥互联网科技有限公司
mysql数据库快速查找
汽车行业软件开发架构
互联网公司怎么防止删掉数据库
阿里云服务器被黑
软件开发项目结题
赋码软件开发需要多长时间
期刊国外数据库收录