当前位置:   article > 正文

Linux之mysql安装_unknown variable 'pid-file

unknown variable 'pid-file

1、什么是数据库

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。

当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。

数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

2、数据库的分类

. 关系型数据库

关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上

非关系型数据库

NoSQL(NoSQL = Not Only SQL ),意思是“不仅仅是 SQL”,是非关系型数据库的总称

 3、数据库的代表产品

1. 关系型数据库   Oracle   MySQL   Microsoft SQL Server PostgreSQL   IBM DB2   Microsoft Access   SQLite

2. 非关系型数据库   MongoDB   Redis   Cassandra   Neo4j

MySQL是开源的,不需要支付额外的费用

2. 支持大型系统,是可以处理拥有上千万条记录的大型数据库

3. 支持多线程,充分利用CPU资源

4. 使用标准的SQL数据语言形式

5. 跨平台,支持多个操作系统,例如:Windows、Mac OS、Linux等

支持多种语言,常见的编码如中文的GB 2312、BIG5,日文的shift_JIS等都可以用作数据表名和数据列名;

7. 为多种编程语言提供了API。这些编程语言包括C、C++、Python、java、Perl、PHP、eiffel、Ruby、tcl等;

8. 存储数据量较大,32位系统表文件最大可支持4GB,64位系统表文件最大可支持8TB;

9. 可以定制,采用了GPL协议,通过修改源码来开发自己的MySQL系统;

10. 支持多种存储引擎;例如:MyISAM、InnoDB等;

安装:RPM

rpm安装MySQL5.7.37

rpm包安装MySQL-5.7.37

rpm -e mariadb-libs --nodeps

rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm                                                                                                  #服务器和客户端的通用文件 rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm                                                                                                  #数据库客户端应用程序的关系库rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm                                                                                                  #数据库客户端应用程序和工具rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm                                                                                                  #数据库服务器和相关工具systemctl start mysqld

rpm -e mariadb-libs --nodeps

rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm systemctl start mysqld

yum安装mariadb

本地yum仓库或网络yum

yum -y install mariadb mariadb-server      mariadb客户端                                                              mariadb-server服务器

systemctl restart mariadb

进入mariadb mysql

源码安装MySQL5.7.37     

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

rpm -qa | grep mysql

rpm -qa | grep mariadb

rpm -e --nodeps mariadb-libs 使用yum删除会将mariadb的依赖关系一并删除

rpm -qa | grep mariadb

yum install -y cmake make gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel bison bison-devel

tar -zxf mysql-boost-5.7.37.tar.gz -C  /usr/src/

cd /usr/src/mysql-5.7.37/

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data - DSYSCONFDIR=/usr/local/mysql/etc -DWITH_INNOBASE_STORAGE_ENGINE=ON - DWITH_MYISAM_STORAGE_ENGINE=ON -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -

DENABLED_LOCAL_INFILE=ON -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -

DWITH_INNODB_MEMCACHED=ON -DWITH_BOOST=boost/boost_1_59_0

make && make install

初始化数据库

groupadd mysql

useradd -r -g mysql -s /bin/false mysql cd /usr/local/mysql

mkdir -p /usr/local/mysql/data mkdir -p /usr/local/mysql/etc mkdir -p /usr/local/mysql/tmp mkdir -p /usr/local/mysql/logs

chown -R mysql:mysql /usr/local/mysql vim /usr/local/mysql/etc/my.cnf

[client]                                             #客户端设置

port=3306                                            # 服 务 器 监 听 端 口 , 默 认 为 3306 socket=/usr/local/mysql/tmp/mysql.sock                                                            #Unix套接字文件路径,默认/tmp/mysql.sock

[mysqld]                                             #服务端设置

## 一般配置选项

port=3306                                          #服务器监听端口,默认为3306 basedir=/usr/local/mysql                                     #MySQL安装根目录

datadir=/usr/local/mysql/data                         #MySQL数据文件目录socket=/usr/local/mysql/tmp/mysql.sock                                                                                                                                                 #Unix套接字文件路径,默认/tmp/mysql.sock pid-file=/usr/local/mysql/tmp/mysql.pid                #服务进程pid文件路径character_set_server=utf8 #默认字符集

default_storage_engine=InnoDB                        #默认InnoDB存储引擎

user=mysql

## 连接配置选项

max_connections=200                                  #最大并发连接数

table_open_cache=400                                 #表打开缓存大小,默认2000

open_files_limit=1000                                                              #打开文件数限制,默认5000 max_connect_errors=200                                                                                                                                                           #最大连接失败数,默认100 back_log=100                                               #请求连接队列数connect_timeout=20                                                                                                                 #连接超时时间,默认10秒

interactive_timeout=1200                             #交互式超时时间,默认28800秒

wait_timeout=600                                     #非交互超时时间,默认28800秒

net_read_timeout=30                                  #读取超时时间,默认30秒

net_write_timeout=60                                                  #写入超时时间,默认60秒max_allowed_packet=8M                                                               #最大传输数据字节,默认4M thread_cache_size=10                                                  #线程缓冲区(池)大小

thread_stack=256K                                    #线程栈大小,32位平台196608、64位平台262144

## 临时内存配置选项

tmpdir=/tmp                                          #临时目录路径

tmp_table_size=64M                                                                     # 临 时 表 大 小 , 默 认 16M max_heap_table_size=64M                                                                                                              #最大内存表大小,默认16M sort_buffer_size=1M                                                 #排序缓冲区大小,默认256K

join_buffer_size=1M                                  #join缓冲区大小,默认256K

## Innodb配置选项

#innodb_thread_concurrency=0                                                #InnoDB线程并发数

innodb_io_capacity=200                               #IO容量,可用于InnoDB后台任务的每秒I/O操作数(IOPS), innodb_io_capacity_max=400                                                                      #IO最大容量,InnoDB在这种情况下由后台任务执行的最大IOPS数innodb_lock_wait_timeout=50                                                                     #InnoDB引擎锁等待超时时间,默认50(单位:秒)

innodb_buffer_pool_size=512M                                                                                                         #InnoDB 缓 冲 池 大 小 , 默 认 128M innodb_buffer_pool_instances=4                                                                         #InnoDB缓冲池划分区域数innodb_max_dirty_pages_pct=75                                                                                                        #缓冲池最大允许脏页比例,默认为75 innodb_flush_method=O_DIRECT                                                                              # 日 志 刷 新 方 法 , 默 认 为 fdatasync innodb_flush_log_at_trx_commit=2                                                                          # 事 务 日 志 刷 新 方 式 , 默 认 为 0 transaction_isolation=REPEATABLE-READ                 #事务隔离级别,默认REPEATABLE-READ

innodb_data_home_dir=/usr/local/mysql/data            #表空间文件路径,默认保存在MySQL的datadir中

innodb_data_file_path=ibdata1:128M:autoextend         #表空间文件大小

innodb_file_per_table=ON                             #每表独立表空间

innodb_log_group_home_dir=/usr/local/mysql/data        #redoLog文件目录,默认保存在MySQL的datadir中

innodb_log_files_in_group=2                          #日志组中的日志文件数,默认为2

innodb_log_file_size=128M                            #日志文件大小,默认为48MB

innodb_log_buffer_size=32M                           #日志缓冲区大小,默认为16MB

## MyISAM配置选项

key_buffer_size=32M                                  #索引缓冲区大小,默认8M

read_buffer_size=4M                                                                         #顺序读缓区冲大小,默认128K

read_rnd_buffer_size=4M                                                                                                       #随机读缓冲区大小,默认256K bulk_insert_buffer_size=8M      # 块 插 入 缓 冲 区 大 小 , 默 认 8M myisam_sort_buffer_size=8M                                                                                   #MyISAM排序缓冲大小,默认8M #myisam_max_sort_file_size=1G                                                                                  #MyISAM排序最大临时大小

myisam_repair_threads=1                              #MyISAM修复线程

skip-external-locking                                #跳过外部锁定,启用文件锁会影响性能

## 日志配置选项

log_output=FILE                                      #日志输出目标,TABLE(输出到表)、FILE(输出到文件)、NONE(不输出),    可选择一个或多个以逗>号分隔

log_error=/usr/local/mysql/logs/error.log              #错误日志存放路径

log_error_verbosity=1                                 #错误日志过滤,允许的值为1(仅错误),2(错误和警告),3(错误、警告和注   释),默认值为3。

log_timestamps=SYSTEM                                #错误日志消息格式,日志中显示时间戳的时区,UTC(默认值)和

SYSTEM(本地系统时区)

general_log=ON                                       #开启查询日志,一般选择不开启,因为查询日志记录很详细,会增大磁盘IO开销,   影响性能

general_log_file=/usr/local/mysql/logs/general.log     #通用查询日志存放路径

## 慢查询日志配置选项

slow_query_log=ON                                                                                       #开启慢查询日志slow_query_log_file=/usr/local/mysql/logs/slowq.log                                                          #慢查询日志存放路径long_query_time=2                                                          #慢查询时间,默认10(单位:秒)

min_examined_row_limit=100                           #最小检查行限制,检索的行数必须达到此值才可被记为慢查询log_slow_admin_statements=ON                         #记录慢查询管理语句log_queries_not_using_indexes=ON               #记录查询未使用索引语句log_throttle_queries_not_using_indexes=5                                                                                         #记录未使用索引速率限制,默认为0不限制

log_slow_slave_statements=ON                         #记录从库复制的慢查询,作为从库时生效,从库复制中如果有慢查询也将被   记录

## 复制配置选项

server-id=1                                          #MySQL服务唯一标识

log-bin=mysql-bin                                    #开启二进制日志,默认位置是datadir数据目录

log-bin-index=mysql-bin.index                         #binlog索引文件

binlog_format=MIXED                                  #binlog日志格式,分三种:STATEMENT、ROW或MIXED,MySQL 5.7.7之前默认为STATEMENT,之后默认为ROW

binlog_cache_size=1M                                 #binlog缓存大小,默认32KB

max_binlog_cache_size=1G                             #binlog最大缓存大小,推荐最大值为4GB

max_binlog_size=256M                                 #binlog最大文件大小,最小值为4096字节,最大值和默认值为1GB expire_logs_days=7       #binlog过期天数,默认为0不自动删除

log_slave_updates=ON                                 #binlog级联复制

sync_binlog=1                                     #binlog同步频率,0为禁用同步(最佳性能,但可能丢失事务),为1开启同步(影   响性能,但最安全不会丢失任何事务),为N操作N次事务后同步1次

relay_log=relay-bin                                  #relaylog文件路径,默认位置是datadir数据目录

relay_log_index=relay-log.index                       #relaylog索引文件

max_relay_log_size=256M                              #relaylog最大文件大小

relay_log_purge=ON                                   #中继日志自动清除,默认值为1(ON)

relay_log_recovery=ON                                #中继日志自动恢复

auto_increment_offset=1                                                                  #自增值偏移量auto_increment_increment=1                                                                                                    #自增值自增量slave_net_timeout=60                                #从机连接超时时间

replicate-wild-ignore-table=mysql.%                   #复制时忽略的数据库表,告诉从线程不要复制到与给定通配符模式匹配的   表

skip-slave-start                                     #跳过Slave启动,Slave复制进程不随MySQL启动而启动

## 其他配置选项

#memlock=ON                                          #开启内存锁,此选项生效需系统支持mlockall()调用,将mysqld进程锁定在内存   中,防止遇到操作系统导致mysqld交换到磁盘的问题

[mysqldump]                                          #mysqldump数据库备份工具

quick                                             #强制mysqldump从服务器查询取得记录直接输出,而不是取得所有记录后将它们缓存到    内存中

max_allowed_packet=16M                               #最大传输数据字节,使用mysqldump工具备份数据库时,某表过大会导致备   份失败,需要增大该值(大>于表大小即可)

[myisamchk]                                          #使用myisamchk实用程序可以用来获得有关你的数据库表的统计信息或检查、修复、    优化他们

key_buffer_size=32M                                  #索引缓冲区大小myisam_sort_buffer_size=8M                                                                      #排序缓冲区大小read_buffer_size=4M                                  #读取缓区冲大小

write_buffer_size=4M                                 #写入缓冲区大小

初始化 bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --initialize --user=mysql

配置环境变量

vi /etc/profile

在文件末尾加入下面代码,:wq保存退出(无权限可:q!强制退出,换root账户重来)

export MYSQL_HOME=/usr/local/mysql export PATH=$MYSQL_HOME/bin:$PATH 使环境变量即时生效

source /etc/profile

复制配置文件到系统服务配置 cp support-files/mysql.server /etc/init.d/mysql

重新加载系统服务配置           systemctl daemon-reload

启动mysql服务                     systemctl start mysql

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/743937
推荐阅读
相关标签
  

闽ICP备14008679号