暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux 7.4 安装&配置 MySQL 8.0.35

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论