公司需要将一个web项目部署到学校的服务器中去,这是我第一次接触Linux服务器上的MySQL中间也遇到了一些经典问题,在此记录下来,希望对遇到同样问题的童鞋有帮助。
首先我先用mySQL-front工具将公司服务器上的.sql文件输出到了笔记本上,然后回到学校放到服务器上,这期间,因为很久没用,学校的服务器Mysql服务出现问题,还有windows和Linux的MySQL区分大小写的问题,以下是一些重点步骤,和从网上百度到的非常有用的信息,在此感谢原作者:
liunx命令行:
1、service --status-all
结果:MySQL is running but PID file could not be found[FAILED]
解决:kill 掉已死进程
"先打印MYSQL进程
ps aux | grep mysql
然后KILL进程
kill -9 pid1 pid2 …
再启动MYSQL
/etc/init.d/mysql start
再检查mysql运行状态
/etc/init.d/mysql status
提示成功
"
2、创建新用户名密码(重启起服务登录等略去)
insert into mysql.user (Host,User,Password) values('localhost','txxw',password('txxw123'));
3、在root权限下创建新数据库并把权限分配给用户txxw
我创建了新的数据库ida,过程略去
grant all privileges on ida.* to txxw@localhost identified by 'txxw';
4、导入数据库
1)先从本地传数据库文件到linux服务器;
2)选择数据库
mysql>use abc;
3)设置数据库编码
mysql>set names utf8;
4)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
出错:
windows下不区分大小写,linux下mysql区分大小写。导入数据库时linux建的表名全部都是小写的,而javaweb执行SQl语句都是大写的。所以出错。
以下摘自网络,属于比较全面的:
LINUX下解决MYSQL区分大小写问题
2012-08-24 10:35:31 我来说两句 作者:bysag888 收藏 我要投稿
MySQL在Linux下采用 rpm方式安装后默认是:数据库名与表名\表的别名\变量名是严格区分大小写
修改大小写的方法:
1.用root帐号登录,在/etc/my.cnf 或 /etc/mysql/my.cnf中的[mysqld]后添加lower_case_table_names=1
操作命令: vi /etc/my.cnf
2.重启MySQL服务
操作命令: /etc/init.d/mysql restart
3.设置成功,则不再区分表名的大小写。
注意: www.2cto.com
如果在/etc或/etc/mysql找不到my.cnf的话,需要从/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf,然后放到/etc/下面去。
操作命令:cp /usr/share/mysql/my-*.cnf /etc/my.cnf (我刚开始就一直找不到)
mysql有四个my-*.cnf文件:
my-small.cnf是为了小型数据库而设计的。
my-medium.cnf是为中等规模的数据库而设计的。
my-large.cnf是为专用于一个SQL数据库的计算机而设计的。
my-huge.cnf是为企业中的数据库而设计的。
题外话:MySQL在Windows下不区分大小写,如果在my.ini 里面的mysqld部分加入lower_case_table_names=0的话,则导入导出时会对大小写有区别。