前面的是第一次配置的,可能解决不了问题,可直接跳过,直接看目录,第二次重装的记录,比较全面
目录
- 第一次装
- 分割线
- 第二次重装,遇到的新问题
- 问题3:Your password has expired. To log in you must change it using a client that supports expir
- 问题4:You must reset your password using ALTER USER statement before executing this statement.
- 三、这次在Windows server 2008上面配置mysql 5.7.9 又出现了新的问题
- Linux安装5.7.31
- 1. 检查wget、vim是否安装,如果没有执行以下命令
- 2. wget命令,下载mysql
- 3. 检查本地是否安装过其他版本的mysql
第一次装
今天重新安装了mysql,配置出现各种问题,参考网上文章,记录如下:
1.下载mysql5.7.13-windows版本
(1)mysql5.7.13-win64版本百度云下载链接分享地址:链接:http://pan.baidu.com/s/1slMl4Ah 密码:w60l
(2)mysql5.7.13-win32版本百度云下载链接分享地址:链接:http://pan.baidu.com/s/1c2kcwFI 密码:qk3n
2.解压下载的mysql文件到自己电脑的指定路径
在这里我解压的路径是:D:\mysql\mysql-5.7.13-winx64
3.配置mysql环境变量
(1)右键单击我的电脑->属性->高级系统设置(高级)->环境变量
点击系统变量下的新建按钮
输入变量名:MYSQL_HOME
输入变量值:D:\mysql\mysql-5.7.13-winx64
(2)选择系统变量中的Path
点击编辑按钮
在变量值中添加变量值:%MYSQL_HOME%\bin
注意是在原有变量值后面加上这个变量,用;隔开,不能删除原来的变量值。
(3)将解压目录下默认文件 my-default.ini 拷贝一份,改名 my.ini
复制下面的配置信息到 my.ini 保存
#如果没有my-default.ini,可自己新建my.ini或者从其他地方中获取
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
basedir=D:\mysql\mysql-5.7.13-winx64
#解压目录
datadir=D:\mysql\mysql-5.7.13-winx64\data
#解压目录下data目录
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\mysql\mysql-5.7.13-winx64\bin\mysqld.exe
4,检查mysql目录下有没有data目录;
如果有data目录,忽略本点;
如果没有,用管理员身份打开cmd窗口,进入mysql所在盘符。比如:d:
然后cd到mysql的bin目录
(1)使用命令:mysqld --initialize-insecure,这个命令会生成无密码的root用户。而命令mysqld --initialize自动生成带随机密码的root用户。这里建议使用mysqld --initialize-insecure命令生成无密码的root用户。
(2)紧接着,使用命令:mysqld --install ,安装mysql服务(PS:mysql remove为卸载mysql服务)
(3)启动mysql服务使用命令:net start mysql,开启mysql服务
(4)使用命令:首先输入mysql -u root -p,enter键进入到mysql,再次enter键进入(注意此处是不需要输入密码的)
如果在第一步中使用mysqld --initialize-insecure命令,安装成功后,mysql的root账户密码为空
现在可以按照如下所示,进行修改密码:
具体演示结果:
修改密码
密码修改成功后,在cmd中重新登陆
5,停止和启动mysql
启动:net start mysql
停止:net stop mysql
6, MySQL控制台快捷方式建立:
1)桌面右键->新建->快捷方式->对象位置输入:C:\Windows\System32\cmd.exe
快捷方式名称自己定义,确定,快捷方式建立成功
2)右键单击刚才建立的快捷方式->属性->把目标一栏修改成MySQL启动参数:
C:\Windows\System32\cmd.exe “D:\MySQL\mysql-5.7.13-winx64\bin” /k mysql -uroot -p
解释:CMD路径 “MySQL路径bin目录” /k mysql -u用户名 -p密码 数据库名
3)修改完成后点击确定保存,直接双击快捷方式即可连接到MySQL数据库
7,exit;或quit; 退出mysql;
重启mysql;
8,使用新密码登陆: mysql -uroot -p123456 回车即可登陆成功;
如果出现其他问题,可参考:
cnblogs.com/liuzhen1995/p/5687811.html"> http://www.cnblogs.com/liuzhen1995/p/5687811.html
分割线
第二次重装,遇到的新问题
由于换了新电脑,在装了mysql 8.0之后 由于jar的问题,不得不重新换回低版本的mysql,这次安装的是mysql5.7.9,安装过程也是费了很大劲,记录一下:
5.9.7百度云链接:链接: https://pan.baidu.com/s/1UvwDyzAUC0ivLFkBVCv_Eg 密码: hj8x
问题1:mysql服务无法启动 服务没有报告任何错误
问题2:Access denied for user ‘root’@‘localhost’ (using password: NO)
可以先大致看一下过程,后面贴完整的图:
1.以管理员身份运行cmd(打开C:\Windows\System32,找到cmd,然后右键选择以管理员身份运行)
2.进入mysql文件下的bin目录(这里我的目录为E:\mysql-5.7.9-winx64)
3.执行命令 mysqld -install
4.执行命令初始化: mysqld --initialize
初始化结束后 data文件夹里面会生成文件如下:如果没有上面的三个文件夹,证明没有初始化成功
这时,已生成了随机密码,先不用管
5.执行命令 net start mysql
如果你幸运的话,服务能启动,负责就会碰到问题1,然后就可以试着卸载服务重新来了,我是关机重启,什么都试了,就差没有重装系统了,当然配置的问题 这个是还没达到要重装系统的地步的
6.执行命令sql -uroot -p然后回车,之后会让输入密码,但是我们不知道密码,所以直接回车,下面问题2就来了
问题2解决办法:
- 执行net stop mysql 先关闭MySQL服务
2.管理员身份运行cmd,进入mysql的bin目录下(安装过程中的前两步),如果之前的命令行没有关闭可以忽略这一步
3.运行命令 mysqld --skip-grant-tables,这时光标会一直闪
,这是跳过密码,直接进入数据库,如果直接出现空一行,没有反应了,那就还是有问题,这个不知道怎么解决
4.打开cmd,然后在mysql的bin目录下
5.执行命令mysql -uroot -p然后回车,之后会让输入密码,但是我们不知道密码,所以直接回车
这时候就进到了mysql里(提示符变成mysql>)因此我们在这修改密码
修改root密码
1.mysql>use mysql;
2.mysql>slect * from user;
3.这里如果显示的是 authentication_string(新版的5.7以后吧)就执行
mysql>update user set authentication_string=password(“root”) where user=“新密码”;
如果显示的是password 就执行
mysql>update user set password=password(“root”) where user=“新密码”;
4.flush privileges;
下次再登录的时候输入修改的密码就可以了
下面是步骤图:
问题1:
修改成功之后,可以先使用quit;
指令关闭数据库,直接打开cmd窗口,测试密码能不能连上数据库,你会发现可以进入数据库,但是现在还没有配置完全,因为用Navicat连接数据库会提示密码过期,在cmd窗口下执行任何命令都会提示问题4。。。。。。。
问题3:Your password has expired. To log in you must change it using a client that supports expir
问题4:You must reset your password using ALTER USER statement before executing this statement.
安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个
解决方法:
step 1: SET PASSWORD = PASSWORD(’your new password
’);
step 2: ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;
step 3: flush privileges;
完成以上三步退出再登,使用新设置的密码就行了,以上除了红色的自己修改成新密码外,其他原样输入即可,这时,再试试Navicat连接也正常了。。。。。。。。。。。。。。
至此算是成功配置mysql,很皮,折腾了我一下午。。。。。。。。。。。。。。。。。。。。。。。。
三、这次在Windows server 2008上面配置mysql 5.7.9 又出现了新的问题
从头到尾的再撸一遍配置:
- 首先是解压,需要手动在解压的目录下面新建一个data文件夹
- 接着更改my.ini 文件的内容,里面需要包含:更改my.ini 文件的内容,里面需要包含:
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
#解压目录
basedir=D:\mysql\mysql-5.7.9-winx64
#解压目录下data目录
datadir=D:\mysql\mysql-5.7.9-winx64\data
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\mysql\mysql-5.7.9-winx64\bin\mysqld.exe
- 然后,然后使用初始化命令初始化data文件夹然后需要手动在解压的目录下面新建一个data文件夹,这里如果不创建data文件夹,初始化会提示data文件夹不存在的错
- 然后使用初始化命令初始化data文件夹然后使用初始化命令初始化data文件夹
初始化命令:mysqld -initialize-insecure --user = mysql
(这是最关键的一步,关系到后面能不能正常启动mysql)
这里使用-initialize生成随机密码,用于自己测试,使用-initialize-insecure生成空密码。默认账号root, 后面的-user=mysql 不用更改,默认即可。
之后可以在data文件夹下面看到初始化的内容,包含三个文件夹和一些文件
- 这时便可以启动mysql试试能不能正常启动,如果不行先在cmd中切换到mysql的bin文件夹中,执行安装mysql-install,如果提示已安装,可尝试启动mysql: net start mysql, 如果提示启动失败 不报任何错误,这个就要注意,可能是data文件夹生成的问题了,如果启动成功,便可进如下一步
- 这时直接使用mysql -uroot -p 回车 不用输密码直接回车进入mysql
- 因为这时密码是空的,所以最后要修改登录密码,
使用
mysql>use mysql
mysql>alter user 'root'@'localhost' identified by 'new password';
之后便可使用新密码登录
Linux安装5.7.31
今天再次安装mysql,没有选新版本,找了个经典版本:5.7.31。
之前安装都是本地下载,再上传服务器,这次直接使用wget下载了。
1. 检查wget、vim是否安装,如果没有执行以下命令
yum -y install wget
执行此命令,如果安装过,会提示已安装。旧版本也会自动更新成最新版。
2. wget命令,下载mysql
将文件下载至当前文件夹下。
[root@localhost local]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
3. 检查本地是否安装过其他版本的mysql
rpm -qa|grep -i mysql
此命令可以查询是否有相关的组件或者服务安装在本机。可以罗列出待卸载的名称,为下一步卸载做准备。
卸载:
yum -y remove 上面查出来的名称
卸载mysql相关组件时,中途会让输入y/n
确认卸载输入y
然后回车即可。
由于有些版本自带的有mariadb,检查是否有mariadb,若是有需要先卸载
rpm -qa|grep -i mariadb
yum -y remove maria*