CentOS7安装mysql5.7
原创
©著作权归作者所有:来自51CTO博客作者mb6418189d1e1df的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.在官网上下载mysql对应的CentOS7的rpm包
wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
2.
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
编辑
3.
yum repolist all | grep mysql
编辑
4.
编辑
5.
编辑
6.
yum repolist enabled | grep mysql
编辑
7.
yum install -y mysql-community-server
编辑
这里可能会报错如下:
You can remove cached packages by executing 'yum clean packages'.
Error: GPG check FAILED
这由于源key错误导致的dnf或者yum(软件包管理器)安装软件失败。
在指令后面加一个命令–nogpgcheck 就解决了
yum install -y mysql-community-server --nogpgcheck
还可能会报错如下:
Error: Transaction test error:
file /etc/my.cnf from install of mysql-community-server-5.7.37-1.el7.x86_64 conflicts with file from package mariadb-common-3:10.3.9-8.ky10.x86_64
这里直接将冲突的删除之后重新执行install操作
yum -y remove mariadb-common-3:10.3.9-8.ky10.x86_64
8.启动mysql
systemctl start mysqld.service
编辑
9.第一次登录要先去找初始密码(可能会报错):
编辑
编辑
10.重启mysql并登录修改密码:
systemctl restart mysqld.service
编辑
use mysql
update user set authentication_string=password('lfrgch') where user = 'root';
flush privileges;
编辑
将之前对/etc/my.cnf的修改改回来。
重新登录之后报错可以参考以下操作:
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;
alter user user() identified by 'lfrgch';
编辑
之后再次登录mysql就可以正常登录了。
11.开启mysql的远程权限
然后我们再开启mysql的远程权限,这样我们就可以从windows连接到虚拟机的mysql了。
grant all privileges on *.* to root@"%" identified by 'lfrgch';
编辑
*.*的意思是任何库的任何表,这句话的意思是root这个用户从任何机器过来都可以访问任何库的任何表。
写完这句话我们还要刷新一下:
如果设置完以上的远程权限,发现在navicat上依然无法连接到这个mysql,则可以考虑一下是不是Centos的防火墙没有开放3306端口,导致被拦截。如果需要开放3306端口则可以参考我的另一篇文章如下:
linux防火墙常用操作https://blog.csdn.net/qq_37050372/article/details/123330118
12.设置mysql不区分大小写
linux安装完mysql默认是不区分大小写的,需要额外设置
在该文件中添加:
lower_case_table_names=1
然后重启Mysql