一、安装mysql5.7
1.去到mysql官网
2.找到所需的版本
从网上获取数据源:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
安装数据源
yum -y install mysql57-community-release-el7-9.noarch.rpm
查看数据源是否成功安装
ls /etc/yum.repos.d/
这里要注意,在安装完成之后要先查看是否有之前的mysql
rpm -qa |grep mysql
如果有之前安装过的版本需要全部删除
rpm -e xxxxxx
开始安装mysql
yum -y install mysql-community-server
安装完成后,查看mysql是否安装成功
mysql -V
然后启动mysql服务
systemctl start mysqld
设置mysql开机自启
systemctl enable mysqld
systemctl daemon-reload
设置mysql的默认编码为utf-8
vi /etc/my.cnf
在[mysqld]下添加如下编码配置,如下所示:
character_set_server=utf8
init_connect='SET NAMES utf8'
查看mysql服务的运行状态
systemctl status mysqld
刚安装后,不能够直接登陆
grep 'temporary password' /var/log/mysqld.log
查看临时密码
使用临时密码登陆
二、登陆
使用临时密码进行登陆后,修改密码!!!!
运行下面指令修改密码为liu123456! (备注 mysql5.7默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'liu123456!';
如果密码过于简单,可能会出现修改失败
这是因为mysql5.7有对应的密码策略
输入语句 “ SHOW VARIABLES LIKE ‘validate_password%’; ” 进行查看,
SHOW VARIABLES LIKE 'validate_password%'; #查看密码策略
- 关于 mysql 密码策略相关参数; 1)validate_password_length 固定密码的总长度; 2)validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数; 3)validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数; 4)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM; 关于 validate_password_policy 的取值: 0/LOW:只验证长度; 1/MEDIUM:验证长度、数字、大小写、特殊字符; 2/STRONG:验证长度、数字、大小写、特殊字符、字典文件; 5)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
- 这样就可以设置简单密码
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
修改密码的四种方式
a)shell命令行下mysqladmin -uroot -poldpassword password newpassword b)sql命令行下 set password = password(newpassword); c)sql命令行下 update user set authentication_string=password(newpassword) where user=‘root’; d)sql命令行下 alter user root@‘localhost’ identified by ‘newpassword’;//使用随机密码登录,如果要使用数据,查看数据库等操作时mysql会推荐这种写法改变密码。
三、远程连接数据库
MySQL默认是没有开启远程控制的,必须添加远程访问的用户,即默认是只能自己访问,别的机器是访问不了的。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'liu123' WITH GRANT OPTION;
最后刷新一下权限:
flush privileges;
并且开放防火墙端口(也可以直接关闭防火墙)
如果是云服务器的话,要将安全组的端口也要开放,才可以进行远程访问
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl stop firewalld #关闭防火墙
远程连接成功
四、修改mysql版本
vim/etc/yum.repos.d/mysql-community.repo
\