Linux|手动安装 MySQL 教程

#Linux #MySQL [字体 ··]

使用手动方式安装 MySQL,手动配置 MySQL,使用 systemd 托管 MySQL 启动。

环境:

CentOS 7

MySqL 5.7

一、查看系统信息

 1# 操作系统信息
 2cat /etc/redhat-release
 3cat /etc/os-release
 4cat /proc/version
 5
 6# 查看内核版本
 7uname -a
 8
 9# 查看 cpu 详细信息
10cat /proc/cpuinfo

二、下载地址

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

1wget <url>
2# 或
3curl -o xxxx.tar.gz <url>

三、解压、配置环境变量

解压

1tar -xvf mysqlxxx.tar.gz

配置环境变量,一般配置在 /etc/profile 文件。

1vim /etc/profile
2
3# 输入配置环境变量
4export PATH=$PATH:<解压mysql的bin目录>

四、初始化数据文件夹

 1# 1、建立存储数据的文件夹
 2mkdir /data/mysql3306
 3mkdir /data/mysql3306/data
 4
 5# 2、添加mysql用户和用户组
 6useradd -M -s /sbin/nologin mysql
 7
 8# 3、修改目录权限
 9chown -R mysql.mysql /data/mysql3306
10
11# 4、添加启动配置文件
12vim /data/mysql3306/my.cnf
13--------------------------
14[mysql]
15# 设置mysql客户端默认字符集
16default-character-set=utf8
17[mysqld]
18# 跳过权限表校验
19# skip-grant-tables
20skip-name-resolve
21# 设置3306端口
22port=3306
23# 设置mysql的安装目录
24basedir=/data/mysql-5.7.39
25# 设置mysql数据库的数据的存放目录
26datadir=/data/mysql3306/data
27# 允许最大连接数
28max_connections=200
29# 服务端使用的字符集默认为8比特编码的latin1字符集
30character-set-server=utf8
31# 创建新表时将使用的默认存储引擎
32default-storage-engine=INNODB
33lower_case_table_names=1
34max_allowed_packet=16M
35
36# 5、初始化数据目录
37mysqld --initialize-insecure --user=mysql --basedir=/data/mysql3306 --datadir=/data/mysql3306/data
38
39# 如果初始化错误,报缺失 libaio 错误,需要安装该组件
40yum install -y libaio

五、将 MySQL 服务加入 systemd

systemd 的配置文件 xxxx.service 一般在 /etc/systemd/system 目录下。

 1vim /etc/systemd/system/mysqld.service
 2--------------------------------------
 3[Unit]
 4Description=MySQL Server
 5Documentation=man:mysqld(8)
 6Documentation=https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html
 7After=network.target
 8After=syslog.target
 9
10[Install]
11WantedBy=multi-user.target
12
13[Service]
14User=mysql
15Group=mysql
16Type=forking
17TimeoutSec=0
18PermissionsStartOnly=true
19# 通常只配置这里,注意 mysqld 命令必须为绝对路径
20ExecStart=/data/mysql-5.7.39/bin/mysqld --defaults-file=/data/mysql3306/my.cnf --daemonize
21LimitNOFILE=5000
22Restart=on-failure
23RestartSec=10
24RestartPreventExitStatus=1
25PrivateTmp=false

六、启停

1# 重新加载守护进程
2systemctl daemon-reload
3# 启动 mysql
4systemctl start mysqld
5# 暂停
6systemctl stop mysqld
7# 查看状态
8systemctl status mysqld

登录

1# 登录,默认未配置密码
2mysql -uroot -S /tmp/mysql.sock

七、设置密码和权限

参加: https://elltor.com/posts/guide/simple-docker-install-mysql8-guide-2020/

相关 / 参考


博客没有评论系统,可以通过 邮件 评论和交流。