要安装 JDK 。注:这个方法不一定适用大部分机器。除了MyFile.class逐个用notepad打开看一下,你就明白怎么会事了。其实MyFile.class你也可以反编译一下,也就明白了。双击“启动MySql服务.bat”把MySql5.0 免安装版注册到windows系统服务里去。
啰嗦了半天,乱码来了。我把备份导入现在的mysql中,发现中文乱码。
查看库的编码方式 命令行登陆MySql
mysql> show variables like '%character%';
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | D:\mysql-5.0.22-win32\share\charsets\ |
+--------------------------+---------------------------------------+
8 rows in set (0.00 sec)
看到了吧(具体什么意思自己在网上找吧)。,这些编码让人头疼啊。根据实际项目情况修改掉他们吧。
1、my.ini中配置
[mysql]
default-character-set=gbk
[mysqld]
character-set-server=gbk
2、MySql>set names 'GBK'
(这条命令会同时修改character_set_client,character_set_connection,character_set_results)
3、重启mysql
---------------------------------------------------------------------
总结:1、修改数据库前要备份
2、遇到问题不要着急着在网上搜到所谓的解决 办法就直接在服务器上动刀,找一台测试机器,在上面模拟解决 办法。
二、常见错误
1、[ERROR] MySQL: Table 'XXX' is marked as crashed and should be repaired
引用
出现表损坏的根本原因是:你的表使用了myisam存储引擎。
myisam存储引擎主要用于select,如果用于insert,update,delete由于内部缺陷和异常数据访问经常造成索引文件损坏,注意是“经常”。
因此解决办法有二:
1.用myisamchk工具修复。一旦文件损坏只能暂停web访问,用myisamchk工具修复后可恢复正常。(暂时性,不能解决根本问题)
①首先将mysql \bin 设置到path中去(为了解决执行命令时报找不到路径) 然后输入以下命令
myisamchk -c -r /path/*.MYI --修复路径下所有MYI文件(也可以指定某个文件),如果报错, 加个 -r 强制修复
2.把表转换为innodb存储引擎。对用户来说是透明的,对程序逻辑不受任何影响,永久解决索引文件损坏的问题。
可通过以下语句把存储引擎转换为innodb。:alter table tablename engine=innodb;
2、[ERROR] 1067
问题描述:重新安新mysql5.5.17时,在配置到最后时,无法start service
解决思路:看my.ini 配置文件,找到datadir 路径,看xxx.err文件.根据提示,作相应处理。
http://www.54xue.com/w/36/n-31036.html
3、[ERROR] 1130 : Host '192.168.1.54' is not allowed to connect to this MySQL server
这段英文,有点误导人,让人感觉是客户端这边出了问题,其实是服务器那边的问题。解决办法有好几种,这里用改表法处理。更改"mysql" 数据库里的 "user" 表里的 "host"项,从"localhost"改称"%"
#>mysql -uroot -p //登录mysql
mysql> show databases;
mysql>use mysql;
mysql>select host,user from user;
mysql>update user set host = '%' where user ='root'; --更改
mysql>flush privileges; #刷新一下权限
4、mysql 本地不能登陆,但远程可以登陆!
原因:mysql 库的user 表中,有一个host叫localhost 的用户,没有设置用户名和密码.
远程登陆后,找mysql 库,找到user 表,打开设置一下host 为localhost 的用户名和密码。权限也设置一下,然后刷新权限,重启mysqld 服务。
5、[Err] #1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
某表中字段有多于一个类型为timestamp 时,一个指定时间,另外的其它该类型字段不要设置current_timestamp 否则就会报这个错误。引用文章
三、性能优化(血泪之旅)
1、centos6.5 rpm 安装的 mysql5.6.19 初始内存过大的问题(初始内存在400M以上),小内存玩家吃不消的。
/etc/my.cnf 配置文件修改一下配置:
#一定要在这个服务器端下面配置(否则不会生效),说多了都是眼泪!
[mysqld]
performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256
然后重启mysql 服务!
参考:1、mysql 性能优化方向
2、参数说明
分享到:
2011-12-26 13:56
浏览 990
分类:数据库
评论
1 楼
ileson
2014-07-28
windows mysql服务问题很奇怪,有可能建议大家迁移到linux下。