更改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。