centos7上mysql5.7的rpm安装

来源:转载

首先检查系统是否已有mysql:

rpm -qa|grep -i mysql

如果有则删除之:

rpm -ev package_name(package_name为要删除的包名)


另外由于现在centos默认使用mariadb,而mariadb和mysql的安装会存在一些冲突,所以同样要先检查mariadb是否存在,并卸载它


然后就是rpm包的下载和安装,下载mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar,然后安装:

[[email protected] ~]# tar -zxvf mysql-5.7.18-1.el6.x86_64.rpm-bundle.tar
[[email protected] ~]#rpm -ivh mysql-community-common-5.7.18-1.el6.x86_64.rpm
[[email protected] ~]#rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm
[[email protected] ~]#rpm -ivh mysql-community-libs-compat-5.7.18-1.el6.x86_64.rpm
[[email protected] ~]#rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm
[[email protected] ~]#rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm
[[email protected] ~]#rpm -ivh mysql-community-devel-5.7.18-1.el6.x86_64.rpm

上面的包存在一定依赖关系,就按这里的顺序安装就好了


然后启动mysql

systemctl start mysqld.service

如果失败了,查看下日志,我遇到一个情况是数据目录,就是datadir里面有数据,估计是mariadb留下来的,导致数据库无法初始化。把datadir里面所有内容清空,然后再启动就可以了


然后进行登录:

mysql -uroot

发现提示内容意味着密码错误。按理说以往默认密码都是空的,5.7不知道是不是改了还是怎么样。要先跳过密码验证,跳过前先关闭mysql:

systemctl stop mysqld.service

/usr/bin/mysqld_safe --skip-grant-tables &

再启动mysql

systemctl start mysqld.service


然后就能进入mysql了,之后就是改密码,按照网上一般答案:

update user set password=password('123') where user='root';

发现报错,说没有password这个字段。因为现在user表里面密码字段是authentication_string,因此命令要改成

update user set authentication_string=password('123') where user='root';


之后退出mysql,并kill掉原来的那个跳过验证的进程

再重试登录

mysql -u root -p

就可以了



分享给朋友:
您可能感兴趣的文章:
随机阅读: