mysql.zip绿色软件压缩包下载后,如何使用
1.解压缩,如这里的路径是在E:\BaiduYunDownload\mysql-5.6.28-winx64。解压缩后需要设置一下my.ini配置文件,设置客户端服务端默认字符集,基准路径、数据路径等
[mysql]
default-character-set=utf8
[mysqld]
# set basedir to your installation path
basedir=E:/BaiduYunDownload/mysql-5.6.28-winx64
#set datadir to the location of your data directory
datadir = E:/BaiduYunDownload/mysql-5.6.28-winx64/data
#set default charset
character-set-server = utf8
2.将bin路径加入到环境变量path后面,(不要覆盖前面内容)E:\BaiduYunDownload\mysql-5.6.28-winx64\bin ,中间用分号隔开
3.启动服务测试一下,在命令行中,如果没有将环境变量加入到path后面,需要在命令行中进入到解压目录下;如果加入到环境变量path中后,可以直接输入
mysqld --console
(关闭服务的指令如下) mysqladmin -u root shutdown
4.这里也可以吧mysql安装成服务,以让mysql自动启动 :mysqld --install
5.绿色版的mysql解压缩后,到这里假设你的mysql服务正常启动了,一般登录的话,root该种情形下是没有密码的,或者默认密码(但是不知道是啥),可以登录修改
mysql -u root -p //登录
这时如果你要更改或者是给root更改密码,可能会出现deny access ....root@localhost的提示,现在虽然是以root登录,但是没有输入密码,相当于
是以user权限表里的匿名用户登录的,需要你具有相应的权限才会让你进行操作。那么下面我们给root创建密码。
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'。错误
这里可以用:
mysqld_safe--skip-grant-table //屏蔽权限,如果不识别mysqld_safe ,可以用mysql --skip-grant-table
//上面执行成功回启动一个线程,然后需要重新打开一个cmd的终端####################注意
//#新开一个终端
mysql -u root mysql
update user set password =password('123456') where user='root' //给root新添加的123456密码
flush privileges; //对于对于权限更改或者新添加的用户,需要对于权限刷新,同时之前开的终端不要关闭,不然会出错
\q
//退出sql
这这里修改成功,登陆后可以看到相应的之前创建的数据库等内容,其他操作都可以。
6.新创建用户testdb(密码123456)和数据库test,并赋予权限于test数据库
mysql> create database test; //已经存在的话就可以直接使用
mysql> grant all on test.* to testdb identified by '123456'
会自动创建用户testdb,这里创建的用户在访问是,可以
因为创建的账户没有带localhost ,127.0.0.1, %等指示,因此访问的URL,可能会提示Access denied for user 'testdb'@'localhost' (using password: YES),
yes代表已经有密码,NO的话没有密码。此处带有YES说明可能是你创建的账户的权限方面的问题,如不能使用localhost,应该使用你本机的IP,
这通过select * from user;查看testdb用户的IP方面的权限是%,说明应该使用本机的IP,如192.168.1.150。如果查询root,则显示一个是
localhost,另外一个是127.0.0.1,第三个是 ::1,因此用root账户则可以使用jdbc:mysql://localhost:3306/test这样的url.
注意:如果driver可以向server发送数据包,但是却没有返回数据,可能是服务器端问题,也可能是这里的URL等内容写的有问题,就如我这里写成了
3308端口,而在sql那个地方命名是3306,因此在写web程序是总是can not create poolxxxFactory的内容,见8。
一般的mysql默认的是本地主机是localhost,对应的IP地址就是127.0.0.1,所以你用你的IP地址登录会出错,如果你想用你的IP地址登录就要先进行授权用grant命令。
mysql>grant all on *.* to
[email protected] identified by "123456"; 但是之前并没有给指定@,却不知为什么是本主机IP,加上@localhost则确实可以。
这里则是对于某一个IP地址下root用户赋予权限。
7.然后这里可以建表,执行增删改查等操作了。
8.错误:16:21:54,872 ERROR SqlExceptionHelper:144 - Cannot create PoolableConnectionFactory (Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
16:21:56,891 ERROR SqlExceptionHelper:144 - Cannot create PoolableConnectionFactory (Communications link failure
这里大多时候是相应的URL或者这些参数写错了某一个地方,可以写个简单的JDBC连接测试一下,对于这里我是在SQLSERVER2005下遇到了该类似问题,mysql下面还是有144的这个错误,sqlserver2005是把密码给设置错了,mysql则是把URL的端口号给写错了。
9.Access denied for user 'testdb'@'localhost' (using password: YES),这是遇到的另一个问题,则是创建的用户对于URL中localhost的没有访问权限,创建用户的出的问题。可以参考6,带上@指定localhost,127.0.0.1,或者是IP地址等,赋予相应操作的权限。