MySQL常见问题与配置

更改WAMP MySQL data目录

我电脑上使用的MySQL是wamp集成的,安装目录下的my.ini文件中两处:
1. 打开任务管理器,停掉“mysqld.exe”服务进程;
2. 拷贝原数据存放目录中的所有数据到你指定的存放位置;
3. MySQL安装目录中的my.ini文件,修改datadir指向新的存放位置。
我这里datadir=D:/Profession_Files/wamp/bin/mysql/mysql5.6.17/data改为: datadir=E:/data_MySQL
4、使用命令行启动MySQL服务;

注意

  • 假如data目录下没有其他默认数据文件再次启动mysqld服务时会失败!拷贝时不要剪切,也可以后来再初始化一下。
  • datadir”所指向的路径请用斜杠“/”而非windows中常用的反斜杠“\”;
  • Windows命令行下启停mysql服务需要在管理员权限下进行;

MySQL字符编码设置

MySQL命令行显示的提示非英文

在my.ini下面设置如下:
language=d:/wamp/bin/mysql/mysql5.6.17/share/english

保存中文数据乱码

保存jsp中文数据到mysql乱码,jsp中已指定utf-8编码,tomcat中server.xml文件也已指定utf-8编码,则问题出在mysql上,命令行中检查编码指令:

show variables like 'char%';

发现默认是latin编码,需要改为utf8格式。更改my.ini文件,在如下位置分别添加如下内容:

[client]
#solve messy code
default_character_set=utf8
[wampmysqld64]
#solve messy code
character_set_server=utf8
[mysqld]
character_set_server=utf8

更改配置文件要注意格式问题,否则会出现各种服务无法启动或者命令行无法登入等各种奇怪问题,比如等号两边不要加空格;注意我这里mysql使用的是wamp中集成的,所以服务是wampmysqld64。
这样编码都被设置为utf8,之前在配置文件mysqld和wampmysqld64里添加default_character_set=utf8配置后总是无法启动服务,原来要添加的是character_set_server=utf8
也可以用语句更改编码,如下指明编码为utf8即可:

CREATE TABLE IF NOT EXISTS `mydb` ( 
  `username` varchar(64) NOT NULL, 
  `userid` int(11) NOT NULL, 
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

ALTER DATABASE mydb2 character set utf8  #更改数据库编码
ALTER TABLE `test` DEFAULT CHARACTER SET utf8 #更改表编码

远程无法连接问题

开始提示无法连接,所有无法连接的问题首先看看是否被远程主机的防火墙拦截;
排除防火墙问题,又提示:

1130-host ... is not allowed to connect to this MySql server

在要连接的机器上MySQL中运行:

GRANT   ALL   PRIVILEGES   ON   *.*   TO   'root'@'%'   WITH   GRANT   OPTION;
FLUSH   PRIVILEGES

这时查看mysql的user表可以看到:

select host,user,password from mysql.user;
+-----------+------+----------+
| host      | user | password |
+-----------+------+----------+
| localhost | root |          |
| 127.0.0.1 | root |          |
| ::1       | root |          |
| localhost |      |          |
| %         | root |          |
+-----------+------+----------+

这时远程客户端可以正常连接该MySQL服务。
到了5.7版本发现执行上面指令还是无法连接,而且user表已经发生了变化,好像是必须要加个密码才行,暂且就先配置上密码:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

5.7更改本机登录密码,直接更新表即可:

update mysql.user set authentication_string=password("root") where User="root" and Host="localhost";

安装与升级

升级mysql时报错

ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 50635, now running 50720. Please use mysql_upgrade to fix this error.
原来我是按照的wamp集成包,MySQL是5.6版本,后来升级单独安装了5.7版本,
需要运行如下命令:
mysql_upgrade -u[username] -p[password]

安装新版wampserver提示文件缺失

公司电脑安装wamperserver3.1.3,老是提示文件缺失。
这里写图片描述这里写图片描述

按照网上和官网链接说明操作安装vc插件均无效,最后通过下面链接的安装包解决的,参见:https://blog.csdn.net/caoyouming0609/article/details/62046508

参见:
http://blog.csdn.net/K346K346/article/details/51830129

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值