记录开发过程中遇到mysql相关的问题以及解决方法,长期更新。
远程连接问题
mysql默认连接只能给本地(localhost或者127.0.0.1),如果想让某个ip地址可以访问mysql,需要手动开启这个权限
方法:
- 进入终端
- 分配新用户
grant all privileges on *.* to '用户名'@'IP地址' identified by '密码';
- 刷新权限
flush privileges;
如果想让局域网的所有机器都可以连接到mysql数据库,可执行下面命令grant all privileges on *.* to '用户名'@'%' identified by '密码' with grant option;
-
all privileges
指所有权限,也可以写成select,utdate
等 -
*.*
指数据库所有表 -
IP地址
:允许连接的IP地址,%
为允许局域网所有机器
保留字问题
像index这种mysql的保留字,在开发中应该尽量避免用到,如果使用了index,那么sql中通过反单引号处理``(Esc下面那一个键)
表大小写问题
在windows系统下mysql不区分表名的大小写,但在linux系统下mysql表明区分大小写,在linux在让mysql不区分大小写:
- 用root登录,修改
/etc/my.cnf
- 在[mysqld]下加一行:
lower_case_table_names=1
- 重启mysql