1、下载mysql的yum仓库
下载地址:https://dev.mysql.com/downloads/repo/yum/
或者直接下载:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
下载完成以后,把下载的包放到服务器,执行如下命令进行安装
yum localinstall mysql80-community-release-el7-3.noarch.rpm
或
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
2、查看yum存储仓库中的mysql
# yum repolist all | grep mysql
从上述可以看出来,默认只开启了mysql8.0版本的yum
3、禁用不需要的版本和启用指定的版本
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
或
手动编辑/etc/yum.repos.d/mysql-community.repo 文件来选择,把默认版本的enabled=1改为0,需要版本的enabled=1
4、安装mysql
yum install mysql-community-server
5、登录mysql
1、初始化mysql密码时,出现如下问题
#YUM安装完成启动后,密码会保存在错误日志中 grep 'temporary password' /var/log/mysqld.log #过滤错误日志获取密码
简单密码
alter user root@localhost identified by 'root';
复杂密码
alter user root@localhost identified by 'root#qq.com';
set password for root@localhost = password('root');
2、解决方案
在mysql里输入,如下命令,如下图
set global validate_password_policy=0;
set global validate_password_length=1;
对于8.0版本的解决方案
如果8.0的版本,则会出现如下问题
ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'
原因:8.0版本的mysql这两个变量是不存在的,已经替换成其他的变量名了
查看8.0版本的变量名
SHOW VARIABLES LIKE 'validate_password%';
3、设置外部远程访问权限:
create user 'dbconner' identified by '123456';
grant all privileges on *.* to 'dbconner' @'%' identified by '123456';
flush privileges;
select host,user,authentication_string from user;
6、开放端口
这里设置完之后,就可以在其他局域网内电脑上用Navicat连接一下看看能不能连接了,如果遇到带有数字的报错(非denind)的话,可以尝试开启防火墙的端口限制:
开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
如果上面命令报错,在centos出现 “FirewallD is not running”
是因为没有开启防火墙,解决方案:https://fullstack.blog.csdn.net/article/details/107839916
刷新防火墙
firewall-cmd --reload
重新开启防火墙
systemctl restart firewalld.service