MySQL5.7二进制部署❄️⛄☃️

MySQL5.7二进制部署❄️⛄☃️

准备工作:

卸载系统中的mariadb

[root@localhost ~]# rpm -qa | grep mariadb
[root@localhost ~]# yum remove mariadb

1.下载二进制安装包

[root@localhost ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz

安装依赖

[root@localhost ~]# yum -y install libaio

2.解压安装

[root@localhost ~]# tar -xvf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local 
[root@localhost local]# mv mysql-5.7.39-linux-glibc2.12-x86_64/ mysql

3.创建mysql用户及组

[root@localhost ~]# groupadd mysql 
[root@localhost ~]# useradd -r -g mysql -s /sbin/nologin mysql

4.创建mysql数据目录

[root@localhost ~]# mkdir /var/lib/mysql 
[root@localhost ~]# chown -R mysql:mysql /var/lib/mysql 
[root@localhost ~]# mkdir /var/log/mysql 
[root@localhost ~]# chown -R mysql:mysql /var/log/mysql

5.创建mysql配置文件

[root@localhost ~]# vim /etc/my.cnf
[client]
# 默认连接 MySQL 时使用的字符集
default-character-set = utf8mb4
socket=/var/lib/mysql/mysql.sock

[mysqld]
user=mysql
socket=/var/lib/mysql/mysql.sock
port=3306
pid-file=/var/lib/mysql/mysql.pid
basedir=/usr/local/mysql
datadir=/var/lib/mysql

lower_case_table_names = 1
explicit_defaults_for_timestamp = 1

#日志配置
log-error = /var/log/mysql/error.log
slow-query-log = 1
slow-query-log-file = /var/log/mysql/mysql-slow.log
long_query_time = 2

# 字符集设置及排序规则
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

6.初始化mysql

[root@localhost ~]# /usr/local/mysql/bin/mysqld  --defaults-file=/etc/my.cnf --initialize --user=mysql  --explicit_defaults_for_timestamp
==使用--initialize参数,则会生成临时密码==2022-12-06T07:28:42.142154Z 1 [Note] A temporary password is generated for root@localhost: %NwqJp,7Tu2g

==使用--initialize-insecure参数,可以直接登录mysql,无需密码。==

7.使用system管理服务

[root@localhost ~]# vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=mysql
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/usr/local/mysql/support-files/mysql.server restart
ExecStop=/usr/local/mysql/support-files/mysql.server stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target

8.开机自启mysql

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable --now mysql

9.配置mysql环境变量

[root@localhost ~]# vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
[root@localhost ~]# source /etc/profile

10.登录mysql并修改密码

使用--initialize-insecure参数初始化时,可以直接登录mysql

[root@localhost ~]# mysql -uroot
mysql> alter user 'root'@'localhost' IDENTIFIED BY '123456';
mysql> flush privileges;

如遇到 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

解决方法:
[root@localhost ~]# ln -s /var/lib/mysql/mysql.sock  /tmp/mysql.sock

 

posted @ 2022-12-06 15:47  Noleaf  阅读(86)  评论(0)    收藏  举报