二进制部署mysql

2023-12-18  本文已影响0人  自由如风才是少年的梦

下载安装包

请选择指定版本下载

https://downloads.mysql.com/archives/community/

或者:


安装(base)路径:/var/lib/mysql/

Data路径:/data/mysql/data

Log路径:/data/mysql/log

My.cnf路径:/data/mysql/conf/my.cnf

Mysql.service路径:/usr/lib/systemd/system/mysql.service

账号:root

密码:

启动:systemctl start mysqld

安装

1.创建mysql用户
useradd -M -r -d /dev/null -s /sbin/nologin mysql
2.解压
tar xf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /var/lib/
mv /var/lib/mysql-5.7.32-linux-glibc2.12-x86_64/ /var/lib/mysql
3.创建data,log路径
mkdir -p /data/mysql/{data,logs,conf} 
4.配置my.cnf

上传my.cnf

参数解释:

#数据路径
datadir=/var/lib/mysql
#sock文件
socket=/tmp/mysql.sock
5.修改属主/属组
chown -R mysql.mysql /data/mysql/
chown -R mysql.mysql /var/lib/mysql/
6.初始化
/var/lib/mysql/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf --initialize-insecure --basedir=/var/lib/mysql --datadir=/data/mysql/data --user=mysql
7.使用systemd管理
vi /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(5.7.38)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Execute pre and post scripts as root
PermissionsStartOnly=true
#对路径进行修改
ExecStart=/var/lib/mysql/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf

# Sets open_files_limit
LimitNOFILE = 10000

Restart=on-failure

RestartPreventExitStatus=1

# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1

PrivateTmp=false

8.管理mysqld服务

启动

systemctl daemon-reload
systemctl start mysqld

查看状态

systemctl status mysqld

修改密码

1.在my.cnf文件中添加
vim /data/mysql/conf/my.cnf
skip-grant-tables
2.重启mysql
systemctl restart mysqld
3.修改密码
/var/lib/mysql/bin/mysql -uroot -p -S /var/lib/mysql/mysql.sock

use mysql;
update mysql.user set authentication_string=password('Gjxx@1q2w3e4r') where user='root' and Host ='localhost';
FLUSH PRIVILEGES;
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Gjxx@1q2w3e4r';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost' WITH GRANT OPTION; 
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION; 
FLUSH PRIVILEGES;
exit
4.注释掉my.cnf
#skip-grant-tables
5.重启数据库
systemctl restart mysqld

登录

/var/lib/mysql/bin/mysql -uroot -pGjxx@1q2w3e4r -S /var/lib/mysql/mysql.sock

注:

这个sock文件在my.cnf文件中定义的

完成!

上一篇下一篇

猜你喜欢

热点阅读