安装前准备
yum安装是最简便和稳定的安装方式,centos7默认安装的是mariadb,需要先卸载mariadb,先查看是否安装mariadb
rpm -qa | grep mariadb
如果找到,则拷贝结果,使用下面命令删除,如删除mariadb-libs-5.5.35-3.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
安装过mysql的需要执行下面步骤: 1.卸载 先停掉mysql进程
pkill -9 mysqld
2、查看mysql的依赖包
rpm -qa|grep -i mysql
结果:
3、依次卸载上个结果返回的列表,卸载不掉的用 rpm -ev
yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
yum -y remove mysql-community-release-el7.x64
……
卸载完毕
开始安装
cd /usr/local/src
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
然后等待安装就行,一切都是默认的。
启动mysql服务
service mysqld restart
重置密码
先获取原始密码,如下
grep "password" /var/log/mysqld.log
但我这里使用元素密码失败,所以得用跳过MySQL的密码认证过程的方法来修改密码
1、跳过MySQL的密码认证过程
vim /etc/my.cnf
在[mysqld]后面任意一行添加skip-grant-tables
用来跳过密码验证的过程
重启mysqlsystemctl restart mysqld
重启之后输入mysql
即可进入mysql。
mysql> update user set password=password("你的新密码") where user="root";
执行后报错 ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’
错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string,使用下面语句执行
mysql> update mysql.user set authentication_string=password('你的新密码') where user='root';
修改成功在执行
mysql> flush privileges; #立即生效
mysql> quit #退出
最后在把vim /etc/my.cnf
文件的skip-grant-tables
去掉。 重启mysqlsystemctl restart mysqld
修改密码成功~
3、实现远程连接(改表法)进入mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';