https://www.cnblogs.com/wsh1230/p/8119526.html
安装mysql-5.7.20-1.el6.x86_64
解压mysql-5.7.20-1.el6.x86_64.rpm-bundle.tar;出来很多文件:如下
只需按照其中四个就好,因为有依赖关系,所以顺序很重要
step1:rpm -ivh mysql-community-common-5.7.20-1.el6.x86_64.rpm
step2:rpm -ivh mysql-community-libs-5.7.20-1.el6.x86_64.rpm
step3:rpm -ivh mysql-community-client-5.7.20-1.el6.x86_64.rpm
step4:rpm -ivh mysql-community-server-5.7.20-1.el6.x86_64.rpm
最后一步报错了
这样就好了
启动:
还可能会遇到这样的问题,启动失败
查看日志发现mysql服务启动的时候不能创建PID文件。
在终端查看发现果然没有/var/run/mysqld这个文件,然后创建:
[root@localhost~]# mkdir -p /var/run/mysqld
然后重启mysql的服务,但是还是失败
[root@localhost~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[FAILED]
原来,/var/run/mysqld/的属主和属组还是root,mysql并不能在其中创建文件,后修改该目录的属主和属组,启动OK 。
[root@localhost~]# ls -ld /var/run/mysqld/
drwxr-xr-x 2 root root 40 Jan 20 18:28 /var/run/mysqld/
[root@localhost~]# chown mysql.mysql /var/run/mysqld/
[root@localhost~]# /etc/init.d/mysqld start
Starting mysqld (via systemctl): [ OK ]
为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化
mysqld --initialize --user=mysql
systemctl start mysqld.service
mysql -uroot -p
第一次不用输入密码直接登录,如果输入密码了或者碰到如下错误:
假设我们使用的是root账户。
1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
#vim /etc/my.cnf(注:windows下修改的是my.ini)
在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
保存文档并退出:
#:wq
重启msyql:
systemctl restart mysqld:
然后就可以登录了:
必须是这个下面这个,别的都不好使
然后再次修改 /etc/my.cnf,把之前加的去掉,重新启动
如果有错误提示:则
如果出错,则修改root用户的密码
set global validate_password_policy=0;
set global validate_password_length=1;
SET PASSWORD = PASSWORD('123456');
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;//因为上面修改了密码为123456,所以这里也要改
最后一步: