1. 下载mysql5.7的rpm安装包
rpm的mysql包,安装起来简单,解压版的mysql还需要做许多配置,稍有不慎就会出错!!!
- 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
- 复制下载链接执行如下命令
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
2. 安装依赖
2.1. 查看linux上是否已经安装了mysql,有则卸载。
一般centos7默认安装了mariadb,这里把它卸载。
查看:
rpm -qa|grep mariadb
卸载:
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
2.2. 安装mysql5.7所需要的依赖
yum install libaio
yum install perl
yum install net-tools
3. 创建mysql用户
cat /etc/group |grep mysql #cat /etc/passwd |grep mysql //检查mysql用户及组是否存在,如果没有执行下面命令
groupadd mysql //创建组
useradd -r -g mysql mysql //创建用户并把该用户加入到组mysql,这里的 -r是指该用户是内部用户,不允许外部登录
4. 安装mysql5.7
4.1. 解压mysql5.7安装包
tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
4.2. 安装mysql5.7
rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
4.3. 查看mysql5.7的状态,没有启动则把mysql启动
4.3.1 查看mysql启动状态
service mysqld status
出现下面这个death就是没有启动,新装的第一次是没有启动的。
active(running)代表启动成功
4.3.2 启动mysql
service mysqld start
4.4. 修改密码
查看临时密码:得知临时密码就是如图
4.4.1 用临时密码登录mysql
mysql -uroot –p
4.4.2 修改成新的密码
密码必须符合长度大于等于8,且必须含有数字,小写或大写字母,特殊字符
set password = password("pa5lrK##d8");
4.4.3 修改密码报错ERROR 1819 (HY000)
如果修改密码报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
密码的长度是由validate_password_length决定的,但是可以通过以下命令修改
set global validate_password_length=4;
validate_password_policy决定密码的验证策略,默认等级为MEDIUM(中等),可通过以下命令修改为LOW(低)
set global validate_password_policy=0;
4.4.4 如果第一次登陆报错
1.停止mysql服务
systemctl stop mysqld.service
2.修改配置文件无密码登录
vi /etc/my.cnf
在最后加上
skip-grant-tables
保存
3.启动mysql
systemctl start mysqld.service
4.登录mysql
mysql -u root
注意这里不要加-p
5.修改密码,mysql5.7用此语法
use mysql;
update mysql.user set authentication_string=password('123456') where user='root' ;
6.回到第二部把刚加的那句删掉
保存,重启mysql就可以了
4.5. 开启远程连接,允许远程连接数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'pa5lrK##d8' WITH GRANT OPTION;
4.6. 配置mysql的配置文件my.cnf(用默认的也行,个人觉得配置一下好一些)
打开配置文件my.cnf
vi /etc/my.cnf
在[mysqld]下面配置几行
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1 #配置表名不区分大小写 1:不区分大小写 0:区分大小写 这行必须配置 默认表名是区分大小写的,不利于开发
character-set-server=utf8 #设置为默认编码为utf8
init_connect='SET NAMES utf8'
max_connections=1024 #设置最大连接数
重启mysql 重启配置才能生效
service mysqld restart
4.7. 防火墙开启端口
到这其实mysql已经安装和配置好,但是centos7的开了防火墙,外面还是访问不到mysql的,所以还要开端口3306(或者把防火墙关掉也行,生产环境勿用)
关闭防火墙
systemctl stop firewalld
4.8. 创建数据库用户和授权
CREATE DATABASE testDb CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'test'@'%' IDENTIFIED BY 'pa5lrK##d8';
GRANT ALL ON testDb.* TO 'pay'@'%';
参考
https://www.cnblogs.com/helf/p/11244711.html
https://www.cnblogs.com/wade-lt/p/8934251.html