mysql5.7.25搭建mysql-5.7.25.tar.gz包(亲验)

STEP 1. 下载

去往官方下载MySQL包.http://dev.mysql.com

mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

STEP 2. 解压缩

[root@study mysql]pwd
/root/soft-install/
[root@study mysql]tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

STEP 3.  将解压后的目录的内容移动到指定的安装目录下,我选择在/data/mysql, 建立相关文件以及修改文件和目录的属性

  [root@study mysql]test -d /data/mysql || mkdir /data/mysql
#移动第二步中解压目录中的所有数据到 /data/mysql中
[root@study mysql] mv mysql-5.7.25-linux-glibc2.12-x86_64/* /data/mysql

# 查看是否有mysql用户名和mysql用户组
[root@study mysql] cat /etc/passwd | grep mysql
[root@study mysql] cat /etc/group | grep mysql

#如果存在,则删除用户和用户组
[root@study mysql] userdel -r mysql

# 接下来,新建mysql用户(系统账号)、mysql用户组
[root@study mysql] groupadd mysql
[root@study mysql] useradd -r -s /sbin/nologin -d /data/mysql -g mysql mysql    #创建mysql用户为系统账号,禁止登陆系统,并指定家目录为/data/mysql,所属组为mysql组。

#更改/data/mysql目录的用户以及用户组
[root@study mysql]chown -R mysql:mysql /data/mysql


# 创建MySQL 数据目录
[root@study mysql]mkdir /var/mysql

# 更改目录权限(用户以及用户组)
[root@study mysql]chown -R mysql:mysql /var/mysql


# 创建 日志
[root@study mysql] test -d /var/log/mysql || mkdir /var/log/mysql
[root@study mysql] chown -R mysql:mysql /var/log/mysql

# 创建 pid进程文件
[root@study mysql] touch  /data/mysql/mysqld.pid
[root@study mysql] chown mysql.mysql /data/mysql/mysqld.pid

注意:pid文件是mysql启动时自动创建的文件,无需用户手动单独创建,该文件是在mysql初始化(初始化时要求mysql的数据库目录文件夹为空,否则初始化失败)时提前指定的,否则为系统默认的pid文件。
例如:mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.20 --datadir=/data/mysql --pid-file=/data/mysql/mysqld.pid

 STEP 4. 修改配置文件 /etc/my.cnf

[root@study mysql] vim /etc/my.cnf
###
[mysqld]
# 数据目录
datadir=/var/mysql
# 基础目录
basedir=/data/mysql
# MySQL监听端口
port=3306
# soket文件
socket=/tmp/mysqld.sock
# 服务器字符集
character-set-server = utf8
symbolic-links=0
[mysqld_safe]
# mysql 日志文件
log-error=/var/log/mysql/mysqld.log
# mysql pid文件
pid-file=/data/mysql/mysqld.pid

STEP 5. 1安装初始化

[root@study mysql] /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/var/mysql 

初始化完毕,生成msql的临时登陆密码,在屏幕上显示,

2019-12-01T04:51:27.589838Z 1 [Note] A temporary password is generated for root@localhost: je_BjKq;i54%

STEP 5. 2安装初始化

[root@study mysql] /usr/local/mysql/bin/mysqld --initialize-insecure  --user=mysql --basedir=/data/mysql --datadir=/var/mysql 

STEP 6.1  启动测试以及加入系统服务

linux7版本使用此方式加入,无法使用systemctl进行启动/关闭服务,如需使用systemctl命令操作,需要加入到system启动文件中。
mysqld_safe脚本可以启动任何安装方式安装的Mysql,并总是尝试将服务和数据库与工作目录相关联,需要使用
ln -s   /tmp/mysqld.sock /var/lib/mysql/mysql.sock方可。

[root@study mysql] cd /data/mysql/
[root@study mysql] cp support-files/mysql.server  /etc/init.d/mysqld
[root@study mysql] vim /etc/init.d/mysqld      #添加basedir路径,添加datadir路径,添加mysql pid文件路径
[root@study mysql]chkconfig --add mysqld
[root@study mysql]chkconfig mysqld on
[root@study mysql]service mysqld start
[root@study mysql]ln -s /data/mysql/bin/*  /usr/bin/    #添加mysql命令为系统命令
[root@study mysql]mysql -uroot -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
[root@study mysql]ln -s   /tmp/mysqld.sock /var/lib/mysql/mysql.sock 
[root@study mysql] mysql -uroot -p              #输入mysql初始化时产生的临时密码登陆
mysql > alter user 'root'@'localhost' identified by '123456';  #首次登陆,修改账号密码

出现错误
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

尝试
ln -s   /tmp/mysqld.sock /var/lib/mysql/mysql.sock 

STEP 6.2 启动测试以及加入系统服务

[root@study mysql] cd /data/mysql/
[root@study mysql] cp support-files/mysql.server  /etc/mysqld
[root@study mysql] vim /etc/mysqld      #添加basedir路径,添加datadir路径,添加mysql pid文件路径
[root@study mysql]chkconfig --add mysqld
[root@study mysql]chkconfig mysqld on
[root@study mysql]service mysqld start
[root@study mysql]ln -s /data/mysql/bin/*  /usr/bin/    #添加mysql命令为系统命令



[root@study mysql]mysqladmin -u root password 123456   # 配置数据库管理员用户密码,假设为 123456
[root@study mysql]mysql -uroot -p123456
mysql > grant all privileges on *.*  to 'user'@'localhost' identified by 'gz@1234';  #创建指定用户,并赋权

STEP 7.  设置开机启动以及打开防火墙设置

#防火墙
[root@study mysql] firewall-cmd --permanent --zone=pulibc --add-port=3306/tcp
[root@study mysql] firewall-cmd --reload

STEP 8.  远程主机连接mysql

#连接mysql
[root@study mysql] mysql -h ip地址  -u 用户名 -p 密码
原文地址:https://www.cnblogs.com/xiaofeng666/p/11965707.html