今天同事和我说他在本地运行得好好的程序放到linux上却提示表不存在。我一看,数据库的表名全部是小写,程序却全部用大写。之所以在本地能运行,是因为windows的文件名是不区分大小写的,Linux却严格区分呢。如果要把程序全部改一遍也比较麻烦,这个可以通过修改my.cnf 实现不区分大小写,修改办法是:
vi /etc/my.cnf
在[mysqld]下加入一行:
lower_case_table_names=1
这句话就表示不区分大小写表名。重启一下MySQL服务应该就可以了。
最近两三天发现服务器不知什么疯狂地用了几G空间,非常不解
用
du -s * | sort -nr | head
一步步查竟然发现时mysql log 文件占用了这几个G的空间。
[root@phpfans var]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Command
Your MySQL connection id is 29
Server version: 5.1.45-log Source dist
Type 'help;' or '\h' for help. Type '\
mysql> show binary logs;
+------------------+------------+
| Log_name | File_size |
+------------------+------------+
| mysql-bin.000001 | 19091 |
| mysql-bin.000002 | 716893 |
| mysql-bin.000003 | ...
MySQL 时区默认是服务器的时区。
可以通过以下命令查看
SQL代码
- mysql> show variables like '%time_zone%';
- +
- | Variable_name | Value |
- +
- | system_time_zone | CST |
- | time_zone | SYSTEM |
- +
- 2 rows in set (0.00 sec)
可以通过修改my.cnf
在 [mysqld] 之下加
default-time-zone=timezone
来修改时区。如:
default-time-zone = '+8:00'
改了记得重启msyql喔
注意一定要在 [mysqld] 之下加 ,否则会出现 unknown variable 'default-time-zone=+8:00'
另外也可以通过命令 set time_zone = time...