1. 系统设置
1.1 禁用 Selinux
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
cat /etc/selinux/config
复制
1.2 关闭及禁用防火墙
# 停止防火墙
systemctl stop firewalld
复制
# 禁用防火墙
systemctl disable firewalld
复制
# 防火墙状态
systemctl status firewalld
复制
1.3 /etc/hosts 设置
配置 /etc/hosts
cat>>/etc/hosts<<EOF
192.168.10.124 tydb011
EOF
cat /etc/hosts
复制
1.4 yum 配置
这里配置的是操作系统文件当yum源,如果有其他的yum源直接替换即可
mount /dev/cdrom /mnt/cdrom
mkdir /etc/yum.repos.d/bak -p
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
cat<<EOF>/etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
EOF
复制
1.5 安装依赖包
# 安装所需依赖包
yum install -yperl-IO perl-Digest perl perl-devel perl-Time-HiRes perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL perl-TermReadKey perl-Digest-MD5 sysstat net-tools vim unzip
复制
1.6 清理环境
# Centos7或者RHEL7版本的系统默认自带安装了MariaDB,需要先清理
# 非必须,不清理安装也 OK
[root@tydb011 ~]# rpm -qa | grep mariadb
[root@tydb011 ~]# yum list installed | grep mariadb
[root@tydb011 ~]# yum -y remove mariadb-libs.x86_64
[root@tydb011 ~]# yum list installed | grep mariadb
[root@tydb011 ~]# rpm -qa |grep mariadb
复制
2. MySQL 安装
2.1 新增用户及组
groupadd mysql &> /dev/null
useradd -g mysql mysql &> /dev/null
echo mysql:Foxconn123 |chpasswd &> /dev/null
复制
2.2 资源限制
# 这里对 mysql 系统用户进行资源限制配置
echo "" >> /etc/security/limits.conf
echo "" >> /etc/security/limits.conf
echo "mysql soft nproc 16384" >> /etc/security/limits.conf
echo "mysql hard nproc 16384" >> /etc/security/limits.conf
echo "mysql soft nofile 65536" >> /etc/security/limits.conf
echo "mysql hard nofile 65536" >> /etc/security/limits.conf
echo "mysql soft memlock unlimited" >> /etc/security/limits.conf
echo "mysql hard memlock unlimited" >> /etc/security/limits.conf
echo "mysql soft stack 32768" >> /etc/security/limits.conf
echo "mysql hard stack 32768" >> /etc/security/limits.conf
复制
2.3 上传安装包并解压
# 查询当前操作系统支持的 glibc,确定下载哪个 mysql (glibc 分2.12 和 2.17)
[root@tydb011 ~]# ldd --version
复制
# md5 验证,确定软件包无破损、木马
md5sum mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz
复制
# 解压、建立软链接
mv mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz /usr/local/
cd /usr/local/
tar -xf mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz .
ln -s mysql-8.0.35-linux-glibc2.17-x86_64 mysql
复制
2.4 创建相关目录
mkdir /data/3306/{data,logs,tmp} -p
mkdir /data/3306/logs/{error,slow,redo,undo,binlog,relay} -p
复制
2.5 设置 my.cnf
# 这里给出基础参数设置,根据自己实际情况配置其他参数
vi /data/3306/my.cnf
# 添加如下内容:
[mysql]
default-character-set = utf8mb4
[mysqld]
port = 3306
user = mysql
basedir = /usr/local/mysql
datadir = /data/3306/data
max_connections = 1000
character-set-server = utf8mb4
default-storage-engine = INNODB
lower_case_table_names = 1
max_allowed_packet = 16M
lower_case_table_names = 1
user = mysql
tmpdir = /tmp
log-error = /data/3306/logs/error/error.log
pid-file = /data/3306/mysql.pid
复制
2.6 设置目录权限
chown -R mysql.mysql /data
chown -R mysql.mysql /usr/local/mysql*
chown -R mysql.mysql /data/3306/my.cnf
chmod 644 /data/3306/my.cnf
复制
2.7 实例初始化
# 这里用的是 --initialize-insecure ,不会生成临时密码,如果需要临时密码,则可以使用 --initialize 进行初始化
/usr/local/mysql/bin/mysqld --defaults-file=/data/3306/my.cnf --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql
复制
2.8 SSL 安装
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/data/3306/data --user=mysql &> /dev/null
复制
3. 启动实例
这里使用 mysqld_safe 启动 mysql 服务,也可以直接使用 mysqld 启动
/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf &
# 检查状态
ps -ef|grep mysql
复制
4. 其他设置
4.1 配置环境变量
cat >> /home/mysql/.bash_profile << "EOF"
MYSQL_HOME=/mysql/app/mysql8.0.33
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$MYSQL_HOME/bin:/mysql/app/mysql-shell/bin:/mysql/app/mysqlrouter/bin
EOF
source /home/mysql/.bash_profile
which mysql
复制
4.2 配置快捷登陆
# 这里通过 mysql_config_editor 进行快捷登陆设置,在后续维护过程中会比较方便,不用每次输入账号、密码
mysql_config_editor set --login-path=db3306 --user=admin --host=localhost --password -S /database/mysql/data/3306/mysql.sock
vim /home/mysql/.bashrc
export PATH=/usr/local/mysql/bin/:$PATH
alias db3306="mysql --login-path=db3306"
alias db3307="mysql --login-path=db3307"
alias db3308="mysql --login-path=db3308"
# 查看
mysql_config_editor print --all
# 删除
mysql_config_editor revome --login-path=db3306 login-path 不存在的话删除也不会报错
复制
4.3 添加系统服务
# 创建 mysqld3306.service 文件,添加如下内容:
# cat > /etc/systemd/system/mysqld3306.service << EOF
[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=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf
LimitNOFILE = 65536
EOF
复制
# 重新加载 systemd
systemctl daemon-reload
复制
# 管理 mysql 服务命令
systemctl status mysqld3306.service
systemctl start mysqld3306.service
systemctl stop mysqld3306.service
复制
# 设置开机自启动
systemctl enable mysqld3
复制
5.4 修改管理员密码
mysql> alter user root@'localhost' identified by '123';
复制
5.5 管理员远程登陆设置
create user root@'%' identified by '123';
grant all privileges on *.* to root@'%' with grant option;
flush privileges;
复制
最后修改时间:2023-11-07 16:26:42
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1324次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
495次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
466次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
394次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
372次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
330次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
296次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
241次阅读
2025-03-28 16:28:31
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
239次阅读
2025-03-10 07:58:44
MySQL8.0直方图功能简介
Rock Yan
233次阅读
2025-03-21 15:30:53