centos7完全离线安装mysql5.7

1.准备环境

IP hostname 备注
176.16.27.7 db.bankbigdata.cn
  • mysql服务安装到**/usr/local/software/mysql**目录下
  • mysql数据文件在**/home/mysql/data**目录中

1.1 下载&解压

https://downloads.mysql.com/archives/community/
centos7完全离线安装mysql5.7_第1张图片

下载到本地,通过WinSCP或xftp工具上传到centos7服务器指定目录
在这里插入图片描述
解压

#创建文件
mkdir -p /opt/software  
mkdir -p /usr/local/software
#将mysql-5.7.30-linux-glibc2.12-x86_64.tar上传到/opt/software目录下
cd /opt/software
#解压到当前目录
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
#重命名
mv mysql-5.7.24-linux-glibc2.12-x86_64  mysql
#移动到/usr/local/software指定目录下
mv ./mysql  /usr/local/software

1.2 添加mysql用户

#添加mysql用户组
groupadd mysql
#添加mysql用户
useradd -r -g mysql -s /bin/bash mysql

1.3 新建mysql的data目录

#在/home/mysql目录下创建data目录
mkdir -p /home/mysql/data
#修改mysql目录用户为刚刚新建的mysql组中的mysql用户
chown -R mysql:mysql ./
#修改mysql安装目录用户为mysql用户
cd /usr/local/software
chown -R mysql:mysql ./

准备工作就绪,下面开始初始安装

2. 初始化安装mysql数据库

#进入到mysql安装目录
cd /usr/local/software/mysql
[root@localhost mysql]# ./bin/mysqld --user=mysql --basedir=/usr/local/software/mysql --datadir=/home/mysql/data --initialize

2.1 修改配置文件

修改my.cnf配置文件

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/software/mysql
datadir=/home/mysql/data
socket=/usr/local/software/mysql/mysql.sock
#设置忽略大小写(简单来说就是sql语句是否严格),默认库名表名保存为小写, 不区分大小写
lower_case_table_names = 1
# 开启ip绑定
bind-address = 0.0.0.0
[mysqld_safe]
log-error=/home/log/mysqld.log
pid-file=/usr/local/software/mysql/data/mysqld.pid
#指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/software/mysql/mysql.sock
default-character-set=utf8

2.2 将mysql添加至开机启动

cp ./support-files/mysql.server /etc/init.d/mysqld

修改mysqld,使用vim /etc/init.d/mysqld 命令 修改以下代码部分

basedir=/usr/local/software/mysql
datadir=/home/mysql/data

设置开机启动

#切换到mysql安装目录
cd /usr/local/software/mysql
[root@localhost mysql]# chkconfig --add mysqld

启动mysql

service mysqld start

2.3.配置环境变量

在/etc/profile文件的末尾添加以下代码

export PATH=$PATH:/usr/local/software/mysql/bin

使配置文件的配置立即生效

source /etc/profile

重启mysql服务,并且使用mysql的root用户登录mysql

service mysqld restart

3.设置远程登录

修改root用户的密码

mysql> use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
update mysql.user set authentication_string=password('123456') where user='root';
flush privileges;

保存,重启mysql就可以了

4.解决问题

Centos7 安装mysql后登录提示:Access denied for user ‘root’@‘localhost’

安装mysql后登录提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:yes)

解决如下:

1.停止mysql服务

systemctl stop mysqld.service

2.修改配置文件无密码登录

vim /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' ;
flush privileges;

6.回到第二部把刚加的那句删掉

保存,重启mysql就可以了
其实默认安装完了mysql后或在日志中生成一个默认的密码 /var/log/mysqld.log 中

拿到默认密码后登录mysql 进行密码重新设置

set pssword=password('your password');

如果密码级别与默认的级别要求不符时候会报

Your password does not satisfy the current policy requirements

此时需要修改级别与最小的默认密码位数

set global validate_password_policy=0;
set global validate_password_length=4;
然后在进行设置密码就好了

你可能感兴趣的:(mysql5.7)