204 lines
5.2 KiB
Markdown
204 lines
5.2 KiB
Markdown
|
# 下载
|
|||
|
|
|||
|
## 下载地址
|
|||
|
|
|||
|
https://dev.mysql.com/downloads/mysql/
|
|||
|
|
|||
|
## 下载版本
|
|||
|
|
|||
|
Linux Generic linux通用版本
|
|||
|
|
|||
|
```sh
|
|||
|
# 查看glibc版本
|
|||
|
[root@hy-node6 ~]# ldd --version
|
|||
|
ldd (GNU libc) 2.17
|
|||
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
|||
|
This is free software; see the source for copying conditions. There is NO
|
|||
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|||
|
Written by Roland McGrath and Ulrich Drepper.
|
|||
|
|
|||
|
# 下载
|
|||
|
wget https://dev.mysql.com/get/Downloads/MySQL-8.1/mysql-8.1.0-linux-glibc2.17-x86_64.tar
|
|||
|
```
|
|||
|
|
|||
|

|
|||
|
|
|||
|
# 安装
|
|||
|
|
|||
|
## 安装参考地址
|
|||
|
|
|||
|
https://dev.mysql.com/doc/refman/8.1/en/binary-installation.html
|
|||
|
|
|||
|
```sh
|
|||
|
# 添加用户组mysql 查看用户组 cat /etc/group
|
|||
|
groupadd mysql
|
|||
|
# 添加用户 hy-mysql并添加到用户组mysql 查看用户 cat /etc/passw
|
|||
|
useradd -r -g mysql -s /bin/false hy-mysql
|
|||
|
# 解压文件
|
|||
|
tar xvf mysql-8.1.0-linux-glibc2.17-x86_64.tar
|
|||
|
# 解压
|
|||
|
xz -dc mysql-8.1.0-linux-glibc2.17-x86_64.tar.xz | tar x
|
|||
|
# 设置环境变量
|
|||
|
export PATH=$PATH:/software/mysql/mysql-8.1.0-linux-glibc2.17-x86_64/bin
|
|||
|
# 使环境变量生效
|
|||
|
source /etc/profile
|
|||
|
```
|
|||
|
|
|||
|
# 设置
|
|||
|
|
|||
|
## 参考地址
|
|||
|
|
|||
|
https://dev.mysql.com/doc/refman/8.1/en/postinstallation.html
|
|||
|
|
|||
|
## 配置文件地址
|
|||
|
|
|||
|
```sh
|
|||
|
# 备份配置文件
|
|||
|
cp my.cnf my.cnf.backup
|
|||
|
# 默认配置文件,不建议修改建议使用默认
|
|||
|
vi /etc/my.cnf
|
|||
|
# 修改文件地址
|
|||
|
[client]
|
|||
|
port=3306
|
|||
|
socket=/software/mysql/socket/mysql.sock
|
|||
|
[mysqld]
|
|||
|
datadir=/software/mysql/datadir
|
|||
|
basedir=/software/mysql/basedir
|
|||
|
socket=/software/mysql/socket/mysql.sock
|
|||
|
```
|
|||
|
|
|||
|
```
|
|||
|
# 设置地址授权,用于配置文件地址路径
|
|||
|
[root@hy-node6 mysql-8.1.0-linux-glibc2.17-x86_64]# pwd
|
|||
|
/software/mysql
|
|||
|
[root@hy-node6 ]# mkdir -p datadir basedir socket/mysql.sock
|
|||
|
[root@hy-node6 ]# chown hy-mysql:mysql datadir basedir socket/mysql.sock
|
|||
|
[root@hy-node6 ]# chmod 750 datadir basedir socket/mysql.sock
|
|||
|
|
|||
|
[root@hy-node6 mysql-8.1.0-linux-glibc2.17-x86_64]# bin/mysqld --initialize --user=hy-mysql
|
|||
|
2023-09-21T02:22:43.673521Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
|
|||
|
2023-09-21T02:22:43.675219Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
|
|||
|
2023-09-21T02:22:43.675412Z 0 [System] [MY-013169] [Server] /software/mysql/mysql-8.1.0-linux-glibc2.17-x86_64/bin/mysqld (mysqld 8.1.0) initializing of server in progress as process 30526
|
|||
|
2023-09-21T02:22:43.695144Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
|
|||
|
2023-09-21T02:22:44.540948Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
|
|||
|
2023-09-21T02:22:52.149208Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xa=V>dpyK7;y
|
|||
|
2023-09-21T02:22:58.749405Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.
|
|||
|
```
|
|||
|
|
|||
|
## 使用systemctl启动
|
|||
|
|
|||
|
https://dev.mysql.com/doc/mysql-secure-deployment-guide/8.0/en/secure-deployment-post-install.html#secure-deployment-startup-options
|
|||
|
|
|||
|
```
|
|||
|
cd /usr/lib/systemd/system
|
|||
|
touch mysqld.service
|
|||
|
chmod 644 mysqld.service
|
|||
|
```
|
|||
|
|
|||
|
写入文件
|
|||
|
|
|||
|
```
|
|||
|
[Unit]
|
|||
|
Description=MySQL Server
|
|||
|
Documentation=man:mysqld(8)
|
|||
|
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
|
|||
|
After=network.target
|
|||
|
After=syslog.target
|
|||
|
|
|||
|
[Install]
|
|||
|
WantedBy=multi-user.target
|
|||
|
|
|||
|
[Service]
|
|||
|
User=hy-mysql
|
|||
|
Group=mysql
|
|||
|
|
|||
|
# Have mysqld write its state to the systemd notify socket
|
|||
|
Type=notify
|
|||
|
|
|||
|
# Disable service start and stop timeout logic of systemd for mysqld service.
|
|||
|
TimeoutSec=0
|
|||
|
|
|||
|
# Start main service
|
|||
|
ExecStart=/software/mysql/mysql-8.1.0-linux-glibc2.17-x86_64/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS
|
|||
|
|
|||
|
# Use this to switch malloc implementation
|
|||
|
EnvironmentFile=-/etc/sysconfig/mysql
|
|||
|
|
|||
|
# Sets open_files_limit
|
|||
|
LimitNOFILE = 10000
|
|||
|
|
|||
|
Restart=on-failure
|
|||
|
|
|||
|
RestartPreventExitStatus=1
|
|||
|
|
|||
|
# Set environment variable MYSQLD_PARENT_PID. This is required for restart.
|
|||
|
Environment=MYSQLD_PARENT_PID=1
|
|||
|
|
|||
|
PrivateTmp=false
|
|||
|
```
|
|||
|
|
|||
|
开始设置
|
|||
|
|
|||
|
```
|
|||
|
systemctl enable mysqld.service
|
|||
|
systemctl start mysqld
|
|||
|
systemctl status mysqld
|
|||
|
```
|
|||
|
|
|||
|
连接设置mysql
|
|||
|
|
|||
|
```
|
|||
|
mysql -u root -p
|
|||
|
# 修改密码
|
|||
|
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
|
|||
|
# 设置远程连接
|
|||
|
CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY '123456';
|
|||
|
CREATE USER 'root'@'::1' IDENTIFIED BY '123456';
|
|||
|
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
|
|||
|
flush privileges;
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
|
|||
|
# 遇到问题
|
|||
|
|
|||
|
## 一
|
|||
|
|
|||
|
报错:Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
|
|||
|
|
|||
|
方式一:
|
|||
|
|
|||
|
mysql -S /software/mysql/socket/mysql.sock -u root -p
|
|||
|
|
|||
|
方式二:
|
|||
|
|
|||
|
/software/mysql/socket/mysql.sock(/etc/my.conf中mysqld配置的socket)
|
|||
|
|
|||
|
设置软连接不用使用 -S /software/mysql/socket/mysql.sock
|
|||
|
ln -s /software/mysql/socket/mysql.sock /tmp/mysql.sock
|
|||
|
|
|||
|
方式三:
|
|||
|
|
|||
|
修改配置文件/etc/my.conf 添加保证client和mysqld中socket相同
|
|||
|
|
|||
|
```
|
|||
|
[client]
|
|||
|
port=3306
|
|||
|
socket=/software/mysql/socket/mysql.sock
|
|||
|
```
|
|||
|
|
|||
|
# 多实例启动
|
|||
|
|
|||
|
https://dev.mysql.com/doc/refman/8.1/en/using-systemd.html
|
|||
|
|
|||
|
# 从机安装
|
|||
|
|
|||
|
复制安装包
|
|||
|
|
|||
|
```
|
|||
|
scp mysql-8.1.0-linux-glibc2.17-x86_64.tar.xz root@192.168.1.120:/software/mysql
|
|||
|
|
|||
|
root@localhost: %mfSO2t==tkF
|
|||
|
```
|
|||
|
|