下載安裝包
請(qǐng)選擇指定版本下載
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
賬號(hào):root
密碼:
啟動(dòng):systemctl start mysqld
安裝
1.創(chuàng)建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.創(chuàng)建data,log路徑
mkdir -p /data/mysql/{data,logs,conf}
4.配置my.cnf
上傳my.cnf
參數(shù)解釋:
#數(shù)據(jù)路徑
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
#對(duì)路徑進(jìn)行修改
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服務(wù)
啟動(dòng)
systemctl daemon-reload
systemctl start mysqld
查看狀態(tài)
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.重啟數(shù)據(jù)庫
systemctl restart mysqld
登錄
/var/lib/mysql/bin/mysql -uroot -pGjxx@1q2w3e4r -S /var/lib/mysql/mysql.sock
注:
這個(gè)sock文件在my.cnf文件中定義的
完成!