现在项目需求,客户要求mysql数据库,我们公司只有oracle数据库,没办法,客户是上帝。
mysql版本:mysql-5.7.17-winx64.zip
安装环境:window7
备注:mysql官网的话,现在貌似只能找到5.5版本的64位安装版。
mysql5.7版本和5.6版本在官网上并没有安装版,只有解压版。
windows下MySQL 5.7+ 解压缩版安装配置方法
1.去官网下载.zip格式的MySQL Server的压缩包,根据需要选择x86或x64版。
//可以参考这个网址下载。其实非常简单,如果这个网址失效,
//相信你也能正确下载,本文重点不是下载mysql。
http://jingyan.baidu.com/article/54b6b9c0eb55182d583b479c.html
2.解压缩至你想要的位置。
3.复制解压目录下my-dafault.ini至bin目录下,重命名为my.ini。并添加以下内容(路径要根据自己的情况修改呀)。没有data目录不要紧,下一步处理这个事情。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\mysql-5.7.12-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\mysql-5.7.12-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
4.没有data文件夹使得网上很多配置方法无效,如果不进行初始化的话,mysql服务是无法启动的。下面是初始化的方法:
(1)以管理员身份运行cmd,并cd到mysql中的bin目录下,执行命令:mysqld –initialize –user=mysql –console
(2)该命令会创建data目录与数据库,生成root用户和临时密码,如下图,我们需要记住这个命令以便于登录。
5.配置环境变量
否则你每次都要cd到bin目录下才能使用mysql。右键此电脑(计算机)-属性-高级系统设置-高级-环境变量,在系统变量中的PATH中加入你的bin目录,如:C:\mysql-5.7.12-winx64\bin,点确定!
6.安装MySQL服务
以管理员身份运行cmd,并输入mysqld install MySQL –defaults-file=”C:\mysql-5.7.12-winx64\bin\my.ini”,其中的路径为你正式的ini文件。
7.修改密码
运行cmd,输入net start mysql启动MySQL服务,再输入mysql -u root -p,然后输入临时密码。修改密码:set password = password(‘新密码’);,然后回车就可以了,注意分号不能省略。
安装配置过程中出现的问题及解决方案:
1.问题:
C:\AppServ\MySQL> mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
解决方案:
编辑mysql配置文件my.ini(在mysql的安装目录下,我的在D:\Program Files\MySQL\MySQL Server 5.0\my.ini),在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql
1.点击“开始”->“运行”(快捷键Win+R)。
2.停止:输入 net stop mysql
3.启动:输入 net start mysql
这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。
继续按下面的流程走:
1.进入mysql数据库:
mysql> use mysql;
Database changed
2.给root用户设置新密码:
mysql> update user set password=password("新密码") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
3.刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit;
Bye
改好之后,再修改一下my.ini这个文件,把我们刚才加入的 "skip-grant-tables"这行删除,保存退出再重启mysql就可以了。
2.问题:
OperationalError: (1862, 'Your password has expired. To log in you must change it using a client that supports expired passwords.')
//由上面可知,mysql用户的密码过期了,但我记得在安装完mysql后设置了root用户的密码为123456,
//且执行以下命令能正常进入mysql的shell:
mysql -u root -p 123456
//既然能正常进入mysql的控制台, 但不能正常连接mysql, 那么我们再次设置密码
//只有SET PASSWORD = PASSWORD('123456')能有效
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> user mysql;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'user mysql' at line 1
mysql> use mysql;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> UPDATE user SET password=PASSWORD('123456') WHERE user='root';
ERROR 1046 (3D000): No database selected
mysql> use mysql;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.10 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>
//于是再次测试能否通过连接, 结果成功连上mysql数据库
3.问题:
MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
解决方案:
新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了
authentication_string
所以更改语句替换为update MySQL.user set authentication_string=password('root') where user='root' ;即可
4.问题
今天,突然就登录不上去了。
解决方案:
//使用 mysqld --console 启动 可以显示出启动错误信息
//检查data文件目录中是否有 mysql目录,其中是否有 user 表。如果有则检查权限。
1.把原来data文件夹压缩
2.mysqld --initialize 先初始化data目录
3.新生成的data文件夹重命名一个,解压缩data压缩包,把新生成的data里面的mysql文件夹复制到原有data文件夹里面。
4.重新给mysql赋予密码(参考上面)
5.ok
5.在服务器windows xp上安装了mysql5.5.54,然后本地链接。
错误描述:
解决方案:
在服务器电脑上,进行以下操作:
备注:下面是几个解决问题可以参考的链接:
http://blog.csdn.net/Cryhelyxx/article/details/42426069
http://blog.csdn.net/u010603691/article/details/50379282
http://blog.csdn.net/u012730299/article/details/51840416
http://www.cnblogs.com/qiaoconglovelife/p/5477832.html