centos8安装mysql8基于tar⽅式
⼀:安装
1 [client]
2 port = 3306
3 # MySQL客户端默认端⼝号
4
5 socket = /usr/local/mysql/socket/mysql.sock
6 # ⽤于本地连接的Unix套接字⽂件存放路径
7
8default-character-set = utf8mb4
9 # MySQL客户端默认字符集
10
11 [mysql]
12 auto-rehash
13 # 开启tab补齐功能
14 socket = /usr/local/mysql/socket/mysql.sock
15 # ⽤于本地连接的Unix套接字⽂件存放路径
16
17default-character-set = utf8mb4
18 # MySQL客户端默认字符集
19
20 max_allowed_packet = 256M
21 # 指定在⽹络传输中⼀次消息传输量的最⼤值。系统默认值为1MB,最⼤值是1GB,必须设置1024的倍数。
22
23 #log_error = /usr/local/mysql/logs/error_log/error.log
24 [mysqld]
25 port = 3306
26 # MySQL服务端默认监听的TCP/IP端⼝
27
28 socket = /usr/local/mysql/socket/mysql.sock
29 # ⽤于本地连接的Unix套接字⽂件存放路径
30
31 pid_file = /usr/local/mysql/tmp/mysql.pid
32 # 进程ID⽂件存放路径
33
34 basedir = /usr/local/mysql
35 # MySQL软件安装路径
36
37 datadir = /usr/local/mysql/data
38 # MySQL数据⽂件存放路径
39
40 tmpdir = /usr/local/mysql/tmp
41 # MySQL临时⽂件存放路径
42
43 character_set_server = utf8mb4
44 # MySQL服务端字符集
45
46 collation_server = utf8mb4_general_ci
47 # MySQL服务端校对规则
48
49default-storage-engine = InnoDB
50 # 设置默认存储引擎为InnoDB
51
52 autocommit = OFF
53 # 默认为ON,设置为OFF,关闭事务⾃动提交
54
55 transaction_isolation = READ-COMMITTED
56
57 event_scheduler = ON
58 # 开启事件调度器event_scheduler
59
60 lower_case_table_names = 0
61 # 库名、表名是否区分⼤⼩写。默认为0,设置1,不区分⼤⼩写,创建的表、数据库都以⼩写形式存放磁盘。
62 >>>#  Network & Connection  >>>####
63 max_connections = 1000
64 # MySQL允许的最⼤并发连接数,默认值151,如果经常出现Too Many Connections的错误提⽰,则需要增⼤此值。
65
66 max_user_connections = 1000
67 # 每个数据库⽤户的最⼤连接,(同⼀个账号能够同时连接到mysql服务的最⼤连接数),默认为0,表⽰不限制。
68
69 back_log = 500
70 # MySQL监听TCP端⼝时设置的积压请求栈⼤⼩,默认50+(max_connections/5),最⼤不超过900
71
72 max_connect_errors = 10000
73 # 每个主机的连接请求异常中断的最⼤次数。对于同⼀主机,如果有超出该参数值个数的中断错误
连接,则该主机将被禁⽌连接。如需对该主机进⾏解禁,执⾏:FLUSH HOST。 74
75 interactive_timeout = 28800
76 # 服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使⽤CLIENT_INTERACTIVE选项的客户端。默认值:28800秒(8⼩时)
77
78 wait_timeout = 28800
79 # 服务器关闭⾮交互连接之前等待活动的秒数。默认值:28800秒(8⼩时)
80 # 指定⼀个请求的最⼤连接时间,当MySQL连接闲置超过⼀定时间后将会被强⾏关闭。对于4GB左右内存的服务器来说,可以将其设置为5~10。
81 # 如果经常出现Too Many Connections的错误提⽰,或者show processlist命令发现有⼤量sleep进程,则需要同时减⼩interactive_timeout和wait_timeout值。
82
83 connect_timeout = 28800
84 # 在获取连接时,等待握⼿的超时秒数,只在登录时⽣效。主要是为了防⽌⽹络不佳时应⽤重连导致连接数涨太快,⼀般默认即可。
85
86 open_files_limit = 5000
87 # mysqld能打开⽂件的最⼤个数,默认最⼩1024,如果出现too mant open files之类的就需要增⼤该值。
88
89 max_allowed_packet = 256M
90 # 指定在⽹络传输中⼀次消息传输量的最⼤值。系统默认值为1MB,最⼤值是1GB,必须设置1024的倍数。
91
92 >>>## Thread & Buffer >>>>###
93 sort_buffer_size = 2M
94 # 排序缓冲区⼤⼩,connection级参数,默认⼤⼩为2MB。如果想要增加ORDER BY的速度,⾸先看是否可以让MySQL使⽤索引,其次可以尝试增⼤该值。
95
96 read_buffer_size = 160M
97 # 顺序读缓冲区⼤⼩,connection级参数,该参数对应的分配内存是每连接独享。对表进⾏顺序扫描的请求将分配⼀个读⼊缓冲区。
98
99 read_rnd_buffer_size = 160M
100 # 随机读缓冲区⼤⼩,connection级参数,该参数对应的分配内存是每连接独享。默认值256KB,最⼤值4GB。当按任意顺序读取⾏时,将分配⼀个随机读缓存区。
101
102 join_buffer_size = 320M
103 # 联合查询缓冲区⼤⼩,connection级参数,该参数对应的分配内存是每连接独享。
104
105 bulk_insert_buffer_size = 64M
106 # 批量插⼊数据缓存⼤⼩,可以有效提⾼插⼊效率,默认为8M
107
108 thread_cache_size = 8
109 # 服务器线程缓冲池中存放的最⼤连接线程数。默认值是8,断开连接时如果缓存中还有空间,客户端的线程将被放到缓存中,当线程重新被请求,将先从缓存中读取。
110 # 根据物理内存设置规则如下:1G  —> 8,2G  —> 16,3G  —> 32,⼤于3G  —> 64
mysql下载starting the server111
112 thread_stack = 256K
113 # 每个连接被创建时,mysql分配给它的内存。默认192KB,已满⾜⼤部分场景,除⾮必要否则不要动它,可设置范围128KB~4GB。
114
115 # query_cache_type = 0
116 # 关闭查询缓存
117
118 # query_cache_size = 0
119 # 查询缓存⼤⼩,在⾼并发,写⼊量⼤的系统,建议把该功能禁掉。
120
121 # query_cache_limit = 4M
122 # 指定单个查询能够使⽤的缓冲区⼤⼩,缺省为1M
123
124 tmp_table_size = 1024M
125 # MySQL的heap(堆积)表缓冲⼤⼩,也即内存临时表,默认⼤⼩是 32M。如果超过该值,则会将临时表写⼊磁盘。在频繁做很多⾼级 GROUP BY 查询的DW环境,增⼤该值。126 # 实际起限制作⽤的是tmp_table_size和max_heap_table_size的最⼩值。
127
128 max_heap_table_size = 1024M
129 # ⽤户可以创建的内存表(memory table)的⼤⼩,这个值⽤来计算内存表的最⼤⾏数值。
130
131 table_definition_cache = 400
132 # 表定义缓存区,缓存frm⽂件。表定义(global)是全局的,可以被所有连接有效的共享。
133
134 table_open_cache = 1000
135 # 所有SQL线程可以打开表缓存的数量,缓存ibd/MYI/MYD⽂件。打开的表(session级别)是每个线程,每个表使⽤。
136
137 table_open_cache_instances = 4
138 # 对table cache 能拆成的分区数,⽤于减少锁竞争,最⼤值64.
139
140
141 #skip-external-locking
142 #skip-locking
143 # 避免MySQL的外部锁定,减少出错⼏率,增强稳定性。
144
145 #skip-name-resolve
146 # 禁⽌MySQL对外部连接进⾏DNS解析,消除MySQL进⾏DNS解析。如果开启该选项,所有远程主机连接授权都要使⽤IP地址⽅式,否则MySQL将⽆法正常处理连接请求!147
148 #skip-networking
149 # 不允许CP/IP连接,只能通过命名管道(Named Pipes)、共享内存(Shared Memory)或Unix套接字(Socket)⽂件连接。
150 # 如果Web服务器以远程连接⽅式访问MySQL数据库服务器,则不要开启该选项,否则⽆法正常连接!
151 # 适合应⽤和数据库共⽤⼀台服务器的情况,其他客户端⽆法通过⽹络远程访问数据库
152
153 >>>####    Slow Log  >>>>##
154 #slow_query_log = ON
155 # 开启慢查询⽇志
156
157 #slow_query_log_file = /usr/local/mysql/logs/slow_log/slow.log
158 # 慢查询⽇志存放路径
159
160 #long_query_time = 10
161 # 超过10秒的查询,记录到慢查询⽇志,默认值10
162
163 #log_queries_not_using_indexes = ON
164 # 没有使⽤索引的查询,记录到慢查询⽇志,可能引起慢查询⽇志快速增长
165
166 #log_slow_admin_statements = ON
167 # 执⾏缓慢的管理语句,记录到慢查询⽇志
168 # 例如 ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE, and REPAIR TABLE.
169
170 >>>####    Error Log  >>>>
171 #log_error = /usr/local/mysql/logs/error_log/error.log
172 # 错误⽇志存放路径
173
174 #log_error_verbosity = 2
175 # 全局动态变量,默认3,范围:1~3
176 # 表⽰错误⽇志记录的信息,1:只记录error信息;2:记录error和warnings信息;3:记录error、warnings和普通的notes信息
177
178 >>>####    Bin Log    >>>>##
179 server_id = 6
180 # 数据库服务器ID
181
182 log_bin = /usr/local/mysql/logs/bin_log/binlog
183 # ⼆进制⽇志存放路径
184
185 log_bin_index = /usr/local/mysql/logs/bin_log/binlog.index
186 # 同binlog,定义binlog的位置和名称
187
188 binlog_format = row
189 # binlog格式,复制有3种模式STATEMENT,ROW,MIXED
190
191 # expire_logs_days = 10
192 # 只保留最近10天的binlog⽇志
193
194 max_binlog_size = 50M
195 # 每个binlog⽇志⽂件的最⼤容量
196
197 binlog_cache_size = 2M
198 # 每个session分配的binlog缓存⼤⼩
199 # 事务提交前产⽣的⽇志,记录到Cache中;事务提交后,则把⽇志持久化到磁盘
200
201 #log_slave_updates = ON
202 # 开启log_slave_updates,从库的更新操作记录进binlog⽇志
203
204 sync_binlog = 1
205 # sync_binlog=0(默认),事务提交后MySQL不刷新binlog_cache到磁盘,⽽让Filesystem⾃⾏决定,或者cache满了才同步。
206 # sync_binlog=n,每进⾏n次事务提交之后,MySQL将binlog_cache中的数据强制写⼊磁盘。
207
208 binlog_rows_query_log_events = ON
209 # 将row模式下的sql语句,记录到binlog⽇志,默认是0(off)
210
211 [mysqldump]
212 max_allowed_packet = 256M
213 #quick
214 # mysqldump导出⼤表时很有⽤,强制从服务器查询取得记录直接输出,⽽不是取得所有记录后将它们缓存到内存中。
215
216 [mysqlhotcopy]
217 #interactive-timeout
218
219 [mysqld_safe]
220 #ledir = /app/mysql/bin
221 # 包含mysqld程序的软件安装路径,⽤该选项来显式表⽰服务器位置。
222 #log_error = /usr/local/mysql/logs/error_log/error.log
  6)创建mysql⽤户组和mysql⽤户:groupadd mysql useradd -g mysql mysql
  7)修改⽬录权限:chown -sql /usr/local/mysql/
  8)初始化mysql: ./bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
  9)修改 support-files/mysql.server 下 datadir和basedir
  10)启动mysql:sudo ./mysql.server start
  11)修改环境变量:vim /etc/profile    source /etc/profile
出现错误:Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid).可能的错误:创建data⽬录错误,删除
出现错误:mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
  执⾏:sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
  12)登录:mysql -u root -p
  13)修改密码:mysql> alter user 'root'@'localhost' identified by 'hyf123';
  14)设置开机⾃启:
# 将mysql加⼊到服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 开机启动
chkconfig mysql on
# 启动mysql
service mysql start
  15)对外访问权限:
mysql> use mysql;
mysql> update user set host='%' where user ='root';
mysql> FLUSH PRIVILEGES;  #刷新权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;  再执⾏授权语句:
  16)创建主从复制,修改myf⽂件
#在主操作:
create user 'hyf'@'192.168.121.133' IDENTIFIED WITH mysql_native_password BY 'hyf123';
GRANT REPLICATION SLAVE ON *.* TO 'hyf'@'192.168.121.133';
flush privileges;
#查询主状态
show master status;
#以下在从操作:
change master to master_host='192.168.121.132',master_user='hyf',master_password='hyf123',master_port=3306,master_log_file='binlog.000009',master_log_pos=4364; #启动从
start slave;
#查询从状态
show slave status\G
#停⽌从
stop slave;
注意:在此处从不copy主之前的数据,如果执⾏主之前的数据库会报错,从不在⼯作

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论