发生场景
本地 Windows 机器下的 cmd 中,远程登录 mysql
错误原因
本机未将 mysql 配置添加入环境变量 Path 中
错误解决
配置环境变量
① 新建变量 MYSQL-HOME
② 将 MYSQL-HOME 纳入 Path 中
结果:在本机的 Dos 下测试
发生场景
本地机器远程登录 mysql
错误原因
未在远程服务器上给用户赋予远程登录权限
错误解决
远程机器上 mysql 赋予远程登录权限,执行命令grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
命令详解:
# 将所有权限赋予给 root 用户,允许其进行远程登录
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
参数解释:
① all privileges:赋予所有的权限给指定用户,也可以替换为赋予某一具体的权限
② *.*:所赋予的权限是针对全部数据库的全部表。若指定某一具体数据库的具体表,如:thinkphp_user
③ root:表示给root用户授权
④'%':表示不限制连接的 IP。若想只允许某特定的 IP 进行远程登录,可以改为具体 IP。
⑤ by 'root':root 用户的密码
发生场景
CenOS 下使用 Java 程序连接 mysql 数据库,获取数据库中的记录
错误原因
找不到 mysql 的驱动 jar
错误解决
查看当前 mysql 的版本,将对于版本的 mysql 驱动 jar 使用 cp 命令复制到将连接驱动拷贝到Java的安装目录下,即 /usr/lib/jvm/java-1.xxx/jre/lib/ext/ 下,使得 Java 程序找到 mysql 驱动 jar
发生场景
使用 Java 程序连接 mysql 数据库,获取数据库中的记录
错误原因
可能的原因
1. 密码不正确
2. 使用 root 用户连接,而在 Linux 系统下,root 用户默认是不用密码的
错误解决
发生场景
为解决 mysql 乱码问题,直接修改了 mysql 的 my-medium.cnf, 导致配置文件错误,找不到 mysql.sock 文件,启动失败
错误原因
mysql启动失败,没有产生 mysql.sock 文件
错误解决
将配置文件还原还不行。将mysql卸载重装,还是不行。于是查看 mysql 的错误日志,发现错误:Error:Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist。
意思就是 mysql 表出现了问题,解决办法:重新初始化 mysql。执行命令:mysql_install_db –usrer=mysql
这样,再次启动 mysql,命令 service mysqld restart,就ok了
情况同 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
情况同 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
发生场景
执行 sql 文件,该 sql 文件中的数据库为 thinkphp,里面有一张拥有记录的 user 表
错误原因
当前 mysql 中没有 thinkphp 这个数据库
错误解决
执行命令 create database thinkphp 创建 thinkphp 数据库,然后执行 use thinkphp 命令,再执行 sql 文件即可。
发生场景
执行 sql 文件,该 sql 文件中的数据库为 thinkphp,里面有一张拥有记录的 user 表
错误原因
当前使用的是 mysql 数据库,而不是 thinkphp 数据库,因而不能执行。
错误解决