【MySQL】国产华为欧拉系统openEuler使用二进制安装MySQL-8.0.42保姆级教程
·
一、准备工作
1.1、主机环境

1.2、下载软件包
下载地址:https://downloads.mysql.com/archives/community/
上图显示第一个是二进制源码包,第二个是二进制测试包,第三个是源码包。
二、基础环境
2.1、关闭防火墙
[root@localhost ~]# systemctl stop firewalld
2.2、关闭内核安全机制
[root@localhost ~]# setenforce 0
2.3、设置yum源
[root@localhost ~]# yum clean all && yum makecache
三、MySQL二进制安装
3.1、安装依赖包
[root@localhost ~]# yum -y install libaio gcc gcc-c++ make autoconf
3.2、创建用户和组
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -M -s /sbin/nologin mysql -g mysql
3.3、解压软件包
[root@localhost ~]# tar xvf mysql-8.0.42-linux-glibc2.28-x86_64.tar.xz
[root@localhost ~]# mv mysql-8.0.42-linux-glibc2.28-x86_64 /usr/local/mysql
3.4、创建数据目录
[root@localhost ~]# mkdir -p /usr/local/mysql/data
[root@localhost ~]# mkdir -p /usr/local/mysql/logs
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql
3.5、创建配置文件
- 从 mysql 5.7.18 版本开始在安装包内不提供默认的配置文件my-default.cnf。因此,需要手动创建 MySQL 配置文件。
[root@localhost ~]# vim /etc/my.cnf
[client]
socket=/usr/local/mysql/data/mysql.sock
default-character-set=utf8mb4
[mysqld]
socket=/usr/local/mysql/data/mysql.sock
#绑定监听地址
bind-address=0.0.0.0
#跳过域名解析,减少mysql对外部连接客户端DNS解析的时间
skip-name-resolve=1
#设置端口
port=3306
#设置时区
default_time_zone='+08:00'
#设置日志时间
log_timestamps=SYSTEM
#设置mysql数据库的安装目录
basedir=/usr/local/mysql
#设置mysql数据库数据的存放目录
datadir=/usr/local/mysql/data
#设置最大连接数量
max_connections=2048
#设置服务端使用的字符集
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
#创建新表时使用的默认存储引擎
default-storage-engine=INNODB
#sql语句不区分大小写
lower_case_table_names=1
#设置一次消息传输的最大值
max_allowed_packet=64M
key_buffer_size=32M
#开启慢查询日志
slow_query_log=1
long_query_time=2
slow_query_log_file=/usr/local/mysql/logs/slow_query.log
#开启错误日志
log_error=/usr/local/mysql/logs/error.log
#开启二进制日志
log_bin=/usr/local/mysql/logs/master-bin
server_id=10
binlog_format=ROW
sync_binlog=1
expire_logs_days=10
max_binlog_size=500M
#开启通用查询日志
general_log=1
general_log_file=/usr/local/mysql/logs/general.log
# InnoDB优化
innodb_buffer_pool_size=2G # (2C4G配置改成1G,8C16G配置改成8G)
innodb_buffer_pool_instances=2
innodb_buffer_pool_dump_at_shutdown=1
innodb_buffer_pool_load_at_startup=1
innodb_flush_method=O_DIRECT
innodb_log_file_size=512M # (2C4G配置可改256M,8C16G配置可改2G)
innodb_log_buffer_size=64M
innodb_lock_wait_timeout=50
innodb_io_capacity=2000
innodb_io_capacity_max=4000
3.6、初始化数据库
[root@localhost ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
## 选项:--initialize 生成12位随机密码 --initialize-insecure ##生成空密码
3.7、优化MySQL执行命令
[root@localhost ~]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
3.8、创建MySQL启动的脚本文件
[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost ~]# chmod +x /etc/rc.d/init.d/mysqld
3.9、将MySQL服务添加到系统服务
[root@localhost ~]# vim /lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.d/init.d/mysqld start
ExecReload=/etc/rc.d/init.d/mysqld restart
ExecStop=/etc/rc.d/init.d/mysqld stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3.10、启动MySQL数据库
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable mysqld
[root@localhost ~]# systemctl start mysqld
3.11、登录MySQL数据库
# 登录数据库
[root@localhost ~]# mysql -uroot -p
输入密码: (输入上面的随机密码)
# 修改密码
mysql> alter user 'root'@'localhost' identified by '123456';
mysql> flush privileges;
mysql> exit
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)