下载安装包
请选择指定版本下载
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文件中定义的
完成!
网友评论