mysql数据库的安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

mysql的优化分为三个部分
1.物理服务器硬件的优化
  mysql每秒钟都进行大量的,复杂的查询操作,对磁盘的1/O有很高的要求,通常认为1/O是制约mysql性能的最大因素。
2.mysql安装时的编译优化
   --static  静态链接提高13%性能
   --with-client-ldflags=-all-static
   --with-mysqld-ldflags=-all-static
   --pgcc  如果是Inter处理器,使用pgcc提高1%性能
   CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \
   CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \
   --felide-constructors -fno-exceptions -fno-rtti"
   Unix Socket 使用unix套接字链接提高7.5%性能,所以在windows下mysql性能肯定不如unix下面
   --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
   --enable-assembler允许使用汇编模式(优化性能)
   --without-debug 编译安装时默认已debug模式生成二进制代码,而该方式会给mysql带来很大的性能损失
  3.自身配置文件的优化 见后面的配置文档
------------------------------------------------------------------------
操作系统及其mysql配置文件说明
系统:Centos5.5
mysql:mysql-5.1.58.tar.gz源码包
安装目录:/usr/local/mysql/
数据目录:/data/mysql/3306/data/
二进制日志:/data/msyql/3306/binlog/
relay日志:/data/mysql/3306/relaylog/
配置文件:/data/mysql/3306/my.cnf
mysql.sock文件:/data/mysql/3306/mysql.sock
------------------------------------------------------------------------
1.安装gcc ncurses-devel
yum -y install gcc ncurses-devel
2.创建用户
/usr/sbin/groupadd mysql
/usr/sbin/useradd -s /sbin/nologin -g mysql -M mysql
3.安装
tar zxvf mysql-5.1.58.tar.gz
cd mysql-5.1.58
 ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase --with-plugin-PLUGIN --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/data/mysql/3306/mysql.sock
make
Entering directory `/root/mysql-5.1.48/mysql-test' 这里需要很长时候
make install
设置目录权限
chown -R mysql:mysql /usr/local/mysql
创建mysql数据存放目录
mkdir -p /data/mysql/3306/data
mkdir -p /data/mysql/3306/binlog/
mkdir -p /data/mysql/3306/relaylog/
chown -R mysql:mysql /data/mysql/
初始化mysql数据库
/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data --user=mysql
创建mysql配置文件
vim /data/mysql/3306/my.cnf

[client]
default-character-set=utf8
port    = 3306
socket  = /data/mysql/3306/mysql.sock

[mysqld]
default-character-set=utf8
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user    = mysql
port    = 3306
socket  = /data/mysql/3306/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql/3306/data
log-error = /data/mysql/3306/mysql_error.log
pid-file = /data/mysql/3306/mysql.pid
open_files_limit    = 10240
back_log = 600
max_connections = 3000
max_connect_errors = 6000
table_cache = 4096
external-locking = FALSE
max_allowed_packet = 32M

sort_buffer_size = 10M
join_buffer_size = 2M
thread_cache_size = 300
thread_concurrency = 16
query_cache_size = 512M
query_cache_limit = 4M

query_cache_min_res_unit = 2k
default-storage-engine = InnoDB
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 2048M
max_heap_table_size = 256M

long_query_time = 1
log-slave-updates
log_long_format
log-short-format
log-slow-queries=/data/mysql/3306/slow-log.log
#slow_query_log=/data/mysql/3306/slow-log.log
log-bin = /data/mysql/3306/binlog/binlog
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 1G
relay-log-index = /data/mysql/3306/relaylog/relaylog
relay-log-info-file = /data/mysql/3306/relaylog/relaylog
relay-log = /data/mysql/3306/relaylog/relaylog
expire_logs_days = 30
key_buffer_size = 1024M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover

interactive_timeout = 120
wait_timeout = 120

skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396

#master-host     =   192.168.0.1
#master-user     =   username
#master-password =   password
#master-port     =  3306

server-id = 1

innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 2048M
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 16M
innodb_log_file_size = 128M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0


[mysqldump]
quick
max_allowed_packet = 64M
------------------------------------------------------------------------
创建mysql启动脚本文件
cp support-files/mysql.server.sh /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start

查看mysql是否启动成功

[root@mail opt]# netstat -antl |grep 3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN 

 

为了安全起见,可以自己手动编写mysql启动脚本,上面步骤可以省略
-----------------------------------------------------  -----------------
mysql 安装出错总结
1.在 CentOS 下编译安装MySQL时出错:
/bin/rm: cannot remove `libtoolt': No such file or directory
需要安装libtool软件包
2.[root@mail 3306]# /etc/init.d/mysqld restart
/etc/init.d/mysqld: line 272: @HOSTNAME@: command not found
/etc/init.d/mysqld: line 281: @HOSTNAME@: command not found
MySQL manager or server PID file could not be found!       [失败]
需要把mysql配置文件my.cnf放到/etc/目录下面,并且在mysqld指定下面目录
basedir=/usr/local/mysql
datadir=/usr/local/mysql/3306/data/
登录数据库的时候报下面的错误:
[root@nagios]# /usr/local/mysql/bin/mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
为了安全性,在编译数据库的时候修改了mysql.sock文件的存放位置,mysql.sock文件默认放在/tmp目录里面,所以在登录数据库的时候要指定修改后的mysql.sock文件的存放位置
[root@nagios]# locate mysql.sock
/etc/mysql/mysql.sock
[root@nagios]# /usr/local/mysql/bin/mysql -uroot -S /etc/mysql/mysql.sock -p










本文转自 sfzhang 51CTO博客,原文链接:http://blog.51cto.com/sfzhang88/851934,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
235
分享
相关文章
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
49 12
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
64 16
【YashanDB知识库】ycm托管数据库时,数据库非OM安装无法托管
### 简介 在检查数据库安装时,发现未使用yasboot安装,导致无yasom和yasagent进程及缺少相关目录,无法通过ycm托管和监控。为解决此问题,需先将数据库托管到yasom中,再托管到ycm中。具体步骤包括生成配置文件、安装yasom和yasagent、修改并执行托管配置。最终确保数据库能被正常托管和监控。经验总结:应按规范使用yasboot安装数据库,避免后续问题。 (239字符)
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
236 42
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
242 18
超强数据库管理软件推荐-没有之一-还在用Navicat管理本地数据库的吗?还在为Navicat寻求绿色版或者购买正版的费用望而却步吗?DBeaver让你解决所有数据库本地编写问题-优雅草央千澈-DBeaver下载和安装
【YashanDB 知识库】ycm 托管数据库时,数据库非 OM 安装无法托管
【YashanDB 知识库】ycm 托管数据库时,数据库非 OM 安装无法托管
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
374 16
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
165 14
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等