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
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号