阿里云centos安装mysql-5.7.20-1.el6.x86_64.rpm

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

最后一步报错了

 

解决:最后一不加参数 --force --nodeps

 

这样就好了

启动:

 再次启动,并查看状态

还可能会遇到这样的问题,启动失败

 

 

 检查mysql启动日志 路径:/var/log

 

 

查看日志发现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
第一次不用输入密码直接登录,如果输入密码了或者碰到如下错误:

Access denied for user 'root'@'localhost' (using password:YES)

假设我们使用的是root账户。

1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:

#vim /etc/my.cnf(注:windows下修改的是my.ini)

在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)

在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:

保存文档并退出:

#:wq

重启msyql:

systemctl restart mysqld:

然后就可以登录了:

登陆后修改root用户的密码为root

必须是这个下面这个,别的都不好使

update user set authentication_string=PASSWORD("root") where user='root';

 

然后再次修改 /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,所以这里也要改

最后一步:

flush privileges;­

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章