今天部署MySQL环境,记录一下过程和遇到的问题:
1、在官网下载解压版安装文件mysql-5.7.17-winx64.zip
2、解压相关文件至D:/MYSQL目录下
3、添加D:/MYSQL/mysql-5.7.17-winx64至环境变量PATH中
4、修改D:/MYSQL/mysql-5.7.17-winx64/my-default.ini
basedir=D:/MYSQL/mysql-5.7.17-winx64(mysql所在目录) datadir=D:/MYSQL/mysql-5.7.17-winx64/data (mysql所在目录/data)
port=3306
注意要把默认前面带的#去掉。
5、以管理员身份运行cmd
输入:cd D:/MYSQL/mysql-5.7.17-winx64/bin 进入mysql的bin文件夹输入:mysqld -install
6、安装成功后,启动服务,cmd继续输入:net start mysql
结果报错,mysql net helpmsg 3534。
上网搜索了一下解决办法,成功解决的是:创建D:/MYSQL/mysql-5.7.17-winx64/data文件夹,cmd命令行运行mysqld --initialize(需清空D:/MYSQL/mysql-5.7.17-winx64/data文件夹下的文件)。
再次启动服务就好了。
7、修改root密码
免密登录mysql,在cmd命令行输入mysql -u root -p,提示输入密码,直接回车,报错
# mysql -u root -p
Enter passWord:
ERROR 1045 (28000): access denied for user 'root'@'localhost' (using password: NO)
尝试mysqladmin -u root -p password 'newpasswd',以及mysqld_safe --user=mysql --skip-grant-tables,均不行。成功的方法为:
(1)复制my-default.ini为my.ini,在my.ini文件里的[mysqld]下另起一行,添加skip-grant-tables,保存。
(2)关闭mysql服务:net stop mysql,再启动:net start mysql。
(3)mysql -u root -p可以免密登录了
(4)mysql> use mysql;(5)mysql> update mysql.user set authentication_string=password("newpasswd") where user="root";
注意:用很多帖子里说的 update user set password=password("newpasswd") where user="root"; 不可以了,因为用select * from user;可以看到,没有password这个字段了,是authentication_string字段了。
密码更新成功。
(6)如果要去掉密登录的功能,删除my.ini里的skip-grant-tables,再重新关闭和启动mysql服务就可以了(用mysqld restart不行)。
新闻热点
疑难解答