2019独角兽企业重金招聘Python工程师标准>>>
Centos 7 上使用yum安装mysql8.0以及遇到的坑
一、添加MySQL到yum库
- 访问http://dev.mysql.com/downloads/repo/yum/ 找打相应的版本
- 选择并下载适用于您的平台的发行包
3.上传到服务器
4.使用以下命令安装下载的发行包,替换 **_platform-and-version-specific-package-name_**
为下载的包的名称
执行rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
查看/etc/yum.repos.d文件中是否存以下文件,如果不存则升级yum update 命令
二、安装mysql
如果想安装mysql最新版本,直接执行:
yum install mysql-community-server
如果想安装其他版本:例如:5.7
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum install mysql-community-server
三、启动mysql
1.启动service mysqld start或者systemctl start mysqld
2.将'root'@'localhost'
创建一个超级用户帐户。设置超级用户的密码并将其存储在错误日志文件中
执行grep 'temporary password' /var/log/mysqld.log查看临时密码
临时密码为:FFQ,1Cgsyjra
3.通过临时密码登录并为超级用户帐户设置自定义密码:
注意会遇到这样的问题:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
官网介绍说:错误(2002)Can't connect to ...
通常意味着系统上没有运行MySQL服务器,或者在尝试连接服务器时使用的是不正确的Unix套接字文件名或TCP / IP端口号。您还应该检查您使用的TCP / IP端口是否未被防火墙或端口阻止服务阻止。
先查询mysql运行的状态ps xa | grep mysqld
服务在运行。
于是我查看防火墙systemctl status firewalld已经是关闭的状态。
没什么问题啊,还是去找度娘,大部分再说/mysql.sock在/tmp文件下,但是我也没有发现。
解决办法:查询mysql运行的状态ps xa | grep mysqld
kill掉mysql 执行kill -9 2005
执行service mysqld start 再重新启动,查询出临时密码,登录mysql。
4.修改root密码
执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 修改密码。
MySQL的 validate_password 插件默认安装。这将要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且密码总长度至少为8个字符。
四、设置简单的密码
set global validate_password_policy=0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=3;
set global validate_password_special_char_count=0;
set global validate_password_length=3;
五、远程登录
use mysql;
select host,user from user;
可以看到root用户不允许远程登录
grant all privileges on *.* to root@'%' identified by "123456";
flush privileges;
select host,user from user;