And 1.引入
- 某赛项又得命令行手搓MySql了,平时都图形化
- MySql全都忘光了...[/折磨]
- 无......
And 2.正文
And 2.1.环境
打开VM随便开台Linux登一下:
ssh连接linux,到/etc下或者/usr/bin里看一下有没有mysql文件夹,也可以直接命令mysql
没有环境,ping一下百度看看有没有网
有网,我这里用centos直接yum安装
yum -y install mysql-server
#install安装 -y默认选项yes
安装完毕直接命令行mysql,出现下面报错证明安装好了
--help查看帮助使用
mysql --help
#查看帮助
And 2.2.登录
先使用linux账号密码登录试试看
mysql -u root -p
账号密码不对,这时候就得重置一下mysql密码
And 2.2.1.重置密码
重置的第一步就是先关了mysql服务
service mysql stop
And 2.2.1.1.报错解决
我这里发生了报错:Failed to stop mysql.service: Unit mysql.service not loaded.
就说说解决办法,没有报错的可以跳过
给mysql换mysqld试试也还是一样
没有mysql,就没安装一样,但确实安装了的,用yum reinstall来覆盖安装一下
yum reinstall -y mysql
覆盖安装后还是一样,头大,find查找一下安装路径
find / -name "*mysql*"
##从根目录下开始查找名字保护mysql的所有文件和文件夹
进入到上面图框出来的路径看看能不能直接绝对路径启动mysql
我这里都是没法用,用yum安装也确实是安装上了,但给我感觉就是也没有装上,然后我就用yum看了一下安装的包
yum list installed |grep mysql
没有安上???用rpm看看
rpm -qa |grep mysql
确定了没安上
换个软件源重新安装试试看==》本站搜索centos7软件源《==可以看到相关文章
And 2.2.1.2.离线安装mysql
配置好软件源后重新安装一遍mysql还是没有这个服务,只好离线安装了:
先到mysql官网下载一下rpm包
可以到这里下载:MySQL :: Download MySQL Community Server (Archived Versions)
选择好自己需要的版本和系统(我这里是64位的centos),下载RPM Bundle
在创建个目录,方便后面操作
mkdir /mysql_rpm
将下载的压缩包上传到这个路经里,也可以直接wget直接下载到这个目录里
wget [文件链接]
将压缩包解压出来
tar -xvf [压缩包名]
## -x 解压
## -v 显示过程状态
## -f 使用档案名字
然后用rpm来把解压出来的所有安装包都安装上,加上--nodeps不检查依赖关系,防止报错,再加个--force来给安装包强制安装上
rpm -ivh ./*.rpm --nodeps --force
## -i 选择包安装
## -v 显示过程日志
## -h 显示安装进度
用rpm看一下安装上了没有
rpm -qa |grep mysql
如果还是没有找到已安装的包,就一个一个去安装好再查看
全装上就行
And 2.2.1.3.重新安装或快照恢复
如果上面方法还不行就直接使用快照回复一下前面最近的快照来解决吧,没打快照的话,那恭喜,重新装一个吧,非特殊必要真的没必要去浪费这些时间了。
And 2.2.1.需重置密码
关闭后去编辑mysql的配置文件
vi /etc/my.cnf
在[mysqld]内容里加入一行skip-grant-tables保存退出,重启mysql服务,用于mysql登录免密码进入
等待一小会,我们直接用
mysql -u root -p
## 密码直接留空回车即可进入
直接可进Mysql
查看一下当前Mysql内所有数据库
show databases;
这里我们只先给root用户做密码重置;
就先看看用户所在的库和表
使用use进入mysql这个数据库
use mysql;
再使用show来查看当前数据库内的所有表
show tables;
如上图,可以看到一个名为user
的数据表,我们数据库的所有用户都存在里面
用select
语句查看数据表内容
select * from user;
由于我们使用*
,直接输出数据表的所有类,可以将*
替换成我们需要的列用,
拼接即可:
select host,user,passsword from user;
回车后我这里发现没有password列,新版本的mysql改用password列了
authentication_string
列
用下面这行就行
select host,user,authentication_string from user;
接下来我们用update
对root账号修改密码
update user set authentication_string=password('123456') where user='root';
如下图即修改成功
最后我们还要将配置文件的skip-grant-tables
注释掉,然后重启mysql服务;
再使用以修改的密码登录看看:
mysql -u root -p 123456
这里语句有些问题,我们把-u
和-p
的值之间的空格省略
mysql -uroot -p123456
直接就登录上mysql了
至此,mysql重置完成,也正常登录上了