mysql 安装部署

一、下载mysql安装包
下载地址:https://dev.mysql.com/downloads/mysql/

二、安装mysql
# 安装前检查下服务器上有没有自带的mariadb,有些服务器会有,有的话最好给卸载掉
[root@ob9 ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
mariadb-5.5.68-1.el7.x86_64

# 卸载mariadb
yum remove mariadb-5.5.68-1.el7.x86_64
yum remove mariadb-libs-5.5.68-1.el7.x86_64

# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld


1、创建mysql账号并修改系统内核参数
useradd mysql


vim /etc/security/limits.conf
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
mysql soft nproc 65536
mysql hard nproc 65536
mysql soft nofile 65536
mysql hard nofile 65536

退出当前窗口重新登录即可生效,使用  ulimit -a 查看是否生效

2、上传并解压mysql安装包
tar -zxvf mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz
mv mysql-8.0.34-linux-glibc2.28-x86_64 mysql-8.0.34

3、创建目录并授权
mkdir -p /opt/mysql
chown -R mysql:mysql /opt/mysql
chown -R mysql:mysql /opt/software/mysql-8.0.34


4、编辑配置文件
cat > /etc/my.cnf << EOF
[client]
port            = 3306
socket                  = /opt/mysql/mysqld.sock
[mysqld]
server-id               = 2
port = 3306
#rpl_semi_sync_replica_enabled=1
#rpl_semi_sync_source_timeout=1000
#rpl_semi_sync_source_enabled=1


pid-file                 = /opt/mysql/mysqld.pid
socket                  = /opt/mysql/mysqld.sock
basedir                 = /opt/software/mysql-8.0.34
datadir                 = /opt/mysql/
innodb_log_group_home_dir       = /opt/mysql/
tmpdir                  = /opt/mysql/
log-error               = /opt/mysql/mysqld.log
slow_query_log          =1
slow_query_log_file     = /opt/mysql/mysql-slow.log
log_bin                 = /opt/mysql/mysql-bin
long_query_time         = 2
# 下面这个参数在8.0版本不用了,被binlog_expire_logs_seconds 代替了
expire_logs_days        = 7
#binlog_expire_logs_seconds = 3600
max_binlog_size         = 100M
innodb_buffer_pool_size = 1G
innodb_data_file_path   = ibdata1:1024M:autoextend
# logfile 两个参数8.0之后不用了,用innodb_redo_log_capacity参数代替了,默认有两个redo log文件
# innodb_log_files_in_group       = 2
# innodb_log_file_size            = 512M
innodb_redo_log_capacity=1073741824

innodb_file_per_table   = 1
lower_case_table_names=1
gtid-mode=on
enforce-gtid-consistency=true
#log_slave_updates       = on
log_replica_updates     =on
# 下面这两个参数8.0版本默认就是table,可以不用设置
master-info-repository=TABLE
relay-log-info-repository = TABLE
[mysqldump]
max_allowed_packet      = 16M
EOF

# 授权
chown -R mysql:mysql /etc/my.cnf

5、安装依赖包
# 一般的linux系统都会自带,如果有了就不用再次安装
yum search libaio     # 查看是否存在
yum install libaio    # 若不存在就安装下

6、配置环境变量
vim /home/mysql/.bash_profile
export PATH=$PATH:$HOME/.local/bin:$HOME/bin/:/opt/software/mysql-8.0.34/bin

# 使配置生效
source /home/mysql/.bash_profile

7、初始化mysql
# 切换到mysql用户
su - mysql

# 执行初始化
mysqld --initialize --user=mysql --basedir=/opt/software/mysql-8.0.34 --datadir=/opt/mysql

8、启动数据库
[10:22:14 mysql@ob01 mysql]$ mysqld_safe --defaults-file=/etc/my.cnf &

9、修改root账号的密码
# 找到临时密码
[10:17:15 mysql@ob01 mysql]$ grep "temporary password" /opt/mysql/mysqld.log
2024-08-15T02:16:34.286133Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 1jejo?3cwgiO

# 登录mysql
mysql -uroot -p1jejo?3cwgiO

# 修改密码
alter user root@'localhost' identified by 'xxxxxx';

至此,mysql安装完成。

注意,安装mysql-8.0.34及以上版本建议linux操作系统版本是redhat8/centos8/rocky8 或以上,不要用7版本,否则glibc包等版本较低,还需要自行更新升级这些依赖包的版本,比较麻烦

posted @   有形无形  阅读(9)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示