tags:mysql
安装
环境准备
- 本次安装的操作系统
#cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
- 安装包 mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
- 下载地址:https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
- 关闭selinux
- 调整最大文件数限制
#ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7861
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 7861
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
#open files 最大打开文件数限制
#max user processes 每个用户最大processes 数量
- 设置操作系统资源限制
\#vim /etc/security/limits.conf
\* soft nofile 65535
\* hard nofile 65535
\* soft nproc 65535
\* hard nproc 65535
\#ulimit -a
open files (-n) 65535
max user processes (-u) 65535
- io调度器修改
io 调度器修改为deadline
echo "deadline" > /sys/block/sda/queue/scheduler
*这里的sdb 修改为实际的设备名称例如sda 或者sdc。/data 所在的设备名称
*需要加入到/etc/rc.local 中开启自动加载
- 系统内核参数修改
vm.swappiness =5 #控制linux 物理RAM 内存进行SWAP 页交换的相对权重
vm.dirty_ratio =5 #脏页占整个内存的比例,开始刷新
vm.dirty_background_ratio = 10 #脏页占程序的百分比,开始刷新
开始安装
- 创建MySQL用户
#useradd mysql -s /sbin/nologin
- 上传MySQL 二进制包并解压
#tar -xf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
- 创建软链接
#ln -s /usr/local/mysql-5.6.37-linux-glibc2.12-x86_64 /usr/local/mysql
- 根据目录定义创建目录
#mkdir -p /data/mysql3306/{data,log}
- 修改权限
# chown mysql:mysql /data/
# chown mysql:mysql /data/* -R
# chown mysql:mysql /usr/local/mysql
# chown mysql:mysql /usr/local/mysql/* -R
- 安装需的软件包
#yum groupinstall Development Tools
#yum install libaio.so.1 libaio numactl
- 修改MySQL配置文件
\#vim /etc/my.cnf
[client] #客户端
port = 3306 #指定端口
socket = /data/mysql3306/data/mysql.sock #指定sock 文件
default-character-set = utf8 #指定客户端字符集
[mysql]
prompt="\\u@\\h:\\p [\\d]>
\#pager="less -i -n -S"
\##tee=/home/mysql/query.log
no-auto-rehash
[mysqld]
\#misc
user = mysql #定义运行用户
basedir = /usr/local/mysql #定义程序
datadir = /data/mysql3306/data #定义数据目录
port = 3306 #定义端口
socket = /data/mysql3306/data/mysql.sock #定义sock 文件
default_storage_engine=Innodb #定义默认存储引擎
character-set-server = utf8 #定义默认字符集
open_files_limit = 65535 #定义打开最大文件数
\#binlog
binlog_format = row #定义binlog 格式
server-id = 123306 #定义server_id ip 最后一位+MySQL 端口
log-bin = /data/mysql3306/log/mysql-bin #定义binlog 存储文件
sync_binlog =1 #每次进行事物提交之后binlog_cache 中的数据强制写入磁盘
\#myisam
key_buffer_size = 8M #myisam 的缓存区大小
\#query_cache #关闭query_cache
query_cache_size =0
query_cache_type =0
\#innodb
innodb_buffer_pool_size=1G #innodb 缓存区大小如果单实例官方推荐物理内存80%
innodb_file_per_table =on #是否启用独立表空间
innodb_log_buffer_size=16M #redo buffer 大小
innodb_data_file_path=ibdata1:1024M:autoextend #独立表空间
innodb_log_file_size=4G #redo log 大小一般推荐值buffer pool 的1/,N 是注一组里面日志文件的数量最大512G
innodb_log_files_in_group =2 #一个日志组里面日志文件的数量。
innodb_open_files = 65535 #innodb 打开文件数
innodb_flush_log_at_trx_commit=1 #事物提交,必须强制刷log 才算提交成功
- 初始化MySQL
#cd /usr/local/mysql/scripts/
#./mysql_install_db --basedir=/usr/local/mysql
- 启动MySQL
#/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf&
- 登陆
#/usr/local/mysql/bin/mysql
- 设置密码
#set password for 'root'@'localhost' =password("redhat");
- 关闭mysql
#/usr/local/mysql/bin/mysqladmin -uroot -predhat shutdown
- 安全设置
"root@localhost:mysql.sock [(none)]>drop database test;
"root@localhost:mysql.sock [mysql]>delete from user where not(host='localhost' and user='root');
"root@localhost:mysql.sock [mysql]>update mysql.user set password=password("redhat") where user='root';
"root@localhost:mysql.sock [mysql]>truncate table mysql.db;
"root@localhost:mysql.sock [mysql]>FLUSH PRIVILEGES;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架