MySQL数据库是当下使用最广泛的数据库之一,在安装、使用和维护过程中经常会遇到各种各样的问题,本文总结了实际使用过程中遇到的问题,欢迎大家补充。
1、rpm安装mysql-community-libs包出错:
原因:未卸载系统自带的mariadb-libs包
解决方法:rpm -e -nodeps mariadb-libs*.rpm
2、rpm安装mysql-community-server包出错:
原因:未安装libaio依赖
解决方法:yum -y install libaio
有些操作系统版本还会缺少perl依赖,按照上述方法安装即可。
3、MySQL命令行登陆报错:
原因:(1)未开启MySQL-server;(2)更改了数据、sock路径,没有更新配置文件
解决方法:
(1)开启mysql-server,并设为开机自启动;
systemctl start mysqld
systemctl enable mysqld
(2)更新配置文件
vim /etc/my.cnf
添加如下内容:
[client]
port=3306
socket=new sock path
4、远程连接报错:
原因:未开启MySQL-server或未放行防火墙端口或放行端口后未reload
解决方法:依次进行检查、确认
systemctl status mysqld //若为inactive (dead),则需手动开启
firewall-cmd --list-port //若无3306/tcp,则需手动放行并reload
5、开启了MySQL-server,但连接仍然报错:
原因:只开启了本地访问权限
解决方法:开启远程客户端访问权限
UPDATE mysql.user SET `Host`='%' WHERE User='root';
flush privileges;
6、开启了远程访问,但连接报密码相关错误:
原因:MySQL8版本的密码认证插件设置错误
解决方法:将密码插件由caching_sha2_password更换成mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'passowrd';
7、自定义安装、配置后,可远程连接,但无法进行建库操作
原因:自定义的安装目录的所有者为root:root
解决方法:将该目录所有者改为mysql:mysql
8、更改MySQL数据目录、修改/etc/my.cnf后启动MySQL-server失败,检查日志发现错误信息如下:
[ERROR] [MY-010119] [Server] Aborting
原因:SELinux正在运行
解放方法:关闭SELinux,或修改SELinux配置,使新目录可被mysqld服务使用。