centos docker 安装mysql 8.0
<p>centos 版本 CentOS Linux release 7.5.1804 (Core)</p><p>内核版本: 3.10.0-862.el7.x86_64</p>
<p>下载最新版mysql</p>
<div class="cnblogs_code">
<pre>docker pull mysql</pre>
</div>
<p>启动镜像</p>
<div class="cnblogs_code">
<pre>docker run --name mysql -p <span style="color: rgba(128, 0, 128, 1)">3306</span>:<span style="color: rgba(128, 0, 128, 1)">3306</span> -e MYSQL_ROOT_PASSWORD=woshimima -d mysql</pre>
</div>
<p>进入命令</p>
<div class="cnblogs_code">
<pre>docker exec -it mysql /bin/bash</pre>
</div>
<p>连接数据库</p>
<div class="cnblogs_code">
<pre>mysql -uroot -p woshimima</pre>
</div>
<p>查看编码格式</p>
<div class="cnblogs_code">
<pre>show variables like <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">%char%</span><span style="color: rgba(128, 0, 0, 1)">"</span>;</pre>
</div>
<p><img src="https://img2018.cnblogs.com/blog/1567367/201906/1567367-20190604164210457-1007510046.png"></p>
<p>utf8mb4 代表可以添加emoji ,所以要修改格式</p>
<div class="cnblogs_code">
<pre>set character_set_client =<span style="color: rgba(0, 0, 0, 1)"> utf8mb4;
set character_set_connection </span>=<span style="color: rgba(0, 0, 0, 1)"> utf8mb4;
set character_set_database </span>=<span style="color: rgba(0, 0, 0, 1)"> utf8mb4;
set character_set_filesystem </span>=<span style="color: rgba(0, 0, 0, 1)"> utf8mb4;
set character_set_results </span>=<span style="color: rgba(0, 0, 0, 1)"> utf8mb4;
set character_set_server </span>= utf8mb4;<br>FLUSH PRIVILEGES;</pre>
</div>
<p>这个只是暂时修改了编码格式,重启了mysql还是变回了原来的样子。气不气?要去文件里修改配置,</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#/etc/mysql/conf.d/mysql.cnf 这个就是文件位置,替换一下 docker cp D:\nginx-1.13.12\conf.d\mysql.cnf 193290698eb9:/etc/mysql/conf.d/mysql.cnf<br>
#设置客户端编码
default</span>-character-set=utf8mb4</pre>
</div>
<p>这样就修改完成了,重启进入查看一下</p>
<p><img src="https://img2018.cnblogs.com/blog/1567367/201906/1567367-20190614172206857-186344749.png"></p>
<p>完美</p>
<p> </p>
<p> </p>
<p> </p>
<p>退出。重新进入 连接数据库 修改root密码</p>
<div class="cnblogs_code">
<pre>ALTER USER <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">root</span><span style="color: rgba(128, 0, 0, 1)">'</span>@<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">localhost</span><span style="color: rgba(128, 0, 0, 1)">'</span> IDENTIFIED WITH mysql_native_password BY <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">woshimima</span><span style="color: rgba(128, 0, 0, 1)">'</span>;<br>FLUSH PRIVILEGES;</pre>
</div>
<p>创建表</p>
<div class="cnblogs_code">
<pre>create database weiqinke;</pre>
</div>
<p>创建用户</p>
<div class="cnblogs_code">
<pre>CREATE USER weiqinke IDENTIFIED BY <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">woshimima</span><span style="color: rgba(128, 0, 0, 1)">'</span>;</pre>
</div>
<p>给weiqinke 这个表加一个用户并刷新权限</p>
<div class="cnblogs_code">
<pre>grant all privileges on weiqinke.* to <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">weiqinke</span><span style="color: rgba(128, 0, 0, 1)">'</span>@<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">%</span><span style="color: rgba(128, 0, 0, 1)">'</span> with grant option;<br>flush privileges;</pre>
</div>
<p>删除Root的远程权限</p>
<div class="cnblogs_code">
<pre>delete from user where user=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">root</span><span style="color: rgba(128, 0, 0, 1)">'</span>and host=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">%</span><span style="color: rgba(128, 0, 0, 1)">'</span>;</pre>
</div>
<p>此时结束了。</p>
<p>下面是配置,此项配置占用了382M内存,原始配置占用了462M,下降了大约80M内存,本身就是2G,暂时还能用,后期看到好的参数,再进行调优吧</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">
pid</span>-<span style="color: rgba(0, 0, 255, 1)">file</span> = /var/run/mysqld/<span style="color: rgba(0, 0, 0, 1)">mysqld.pid
socket </span>= /var/run/mysqld/<span style="color: rgba(0, 0, 0, 1)">mysqld.sock
datadir </span>= /var/lib/<span style="color: rgba(0, 0, 0, 1)">mysql
secure</span>-<span style="color: rgba(0, 0, 255, 1)">file</span>-priv=<span style="color: rgba(0, 0, 0, 1)"> NULL
innodb_buffer_pool_size</span>=<span style="color: rgba(128, 0, 128, 1)">1000000000</span><span style="color: rgba(0, 0, 0, 1)">
# 按事物刷盘,刷日志
innodb_flush_log_at_trx_commit</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
# 脏页占innodb_buffer_pool_size的比例时,触发刷脏页到磁盘
# </span><span style="color: rgba(128, 0, 128, 1)">25</span>%~<span style="color: rgba(128, 0, 128, 1)">50</span>%<span style="color: rgba(0, 0, 0, 1)">
innodb_max_dirty_pages_pct</span>=<span style="color: rgba(128, 0, 128, 1)">30</span><span style="color: rgba(0, 0, 0, 1)">
# 后台进程最大IO性能指标
# 默认200,如果SSD,调整为5000</span>~<span style="color: rgba(128, 0, 128, 1)">20000</span><span style="color: rgba(0, 0, 0, 1)">
innodb_io_capacity</span>=<span style="color: rgba(128, 0, 128, 1)">100</span><span style="color: rgba(0, 0, 0, 1)">
# 全量日志建议关闭
# 默认关闭
general_log</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
table_open_cache</span>=<span style="color: rgba(128, 0, 128, 1)">2000</span><span style="color: rgba(0, 0, 0, 1)">
tmp_table_size</span>=<span style="color: rgba(0, 0, 0, 1)">12M
thread_cache_size</span>=<span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">
myisam_max_sort_file_size</span>=<span style="color: rgba(0, 0, 0, 1)">1G
myisam_sort_buffer_size</span>=<span style="color: rgba(0, 0, 0, 1)">15M
key_buffer_size</span>=<span style="color: rgba(0, 0, 0, 1)">8M
read_buffer_size </span>=<span style="color: rgba(0, 0, 0, 1)"> 30K
read_rnd_buffer_size</span>=<span style="color: rgba(0, 0, 0, 1)">256K
innodb_flush_log_at_trx_commit</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
innodb_log_buffer_size</span>=<span style="color: rgba(0, 0, 0, 1)">1M
innodb_buffer_pool_size</span>=<span style="color: rgba(0, 0, 0, 1)">32M
innodb_log_file_size</span>=<span style="color: rgba(0, 0, 0, 1)">48M
innodb_autoextend_increment</span>=<span style="color: rgba(128, 0, 128, 1)">64</span><span style="color: rgba(0, 0, 0, 1)">
innodb_buffer_pool_instances</span>=<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">
innodb_concurrency_tickets</span>=<span style="color: rgba(128, 0, 128, 1)">5000</span><span style="color: rgba(0, 0, 0, 1)">
innodb_old_blocks_time</span>=<span style="color: rgba(128, 0, 128, 1)">1000</span><span style="color: rgba(0, 0, 0, 1)">
innodb_open_files</span>=<span style="color: rgba(128, 0, 128, 1)">300</span><span style="color: rgba(0, 0, 0, 1)">
innodb_file_per_table</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
innodb_checksum_algorithm</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
back_log</span>=<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
flush_time</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
join_buffer_size</span>=<span style="color: rgba(0, 0, 0, 1)">256K
max_allowed_packet</span>=<span style="color: rgba(0, 0, 0, 1)">4M
max_connect_errors</span>=<span style="color: rgba(128, 0, 128, 1)">100</span><span style="color: rgba(0, 0, 0, 1)">
open_files_limit</span>=<span style="color: rgba(128, 0, 128, 1)">4161</span><span style="color: rgba(0, 0, 0, 1)">
sort_buffer_size</span>=<span style="color: rgba(0, 0, 0, 1)">256K
table_definition_cache</span>=<span style="color: rgba(128, 0, 128, 1)">1400</span><span style="color: rgba(0, 0, 0, 1)">
binlog_row_event_max_size</span>=<span style="color: rgba(0, 0, 0, 1)">8K
sync_master_info</span>=<span style="color: rgba(128, 0, 128, 1)">10000</span><span style="color: rgba(0, 0, 0, 1)">
sync_relay_log</span>=<span style="color: rgba(128, 0, 128, 1)">10000</span><span style="color: rgba(0, 0, 0, 1)">
sync_relay_log_info</span>=<span style="color: rgba(128, 0, 128, 1)">10000</span><span style="color: rgba(0, 0, 0, 1)">
# Disabling symbolic</span>-<span style="color: rgba(0, 0, 0, 1)">links is recommended to prevent assorted security risks
symbolic</span>-links=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
# Custom config should go here
</span>!includedir /etc/mysql/conf.d/</pre>
</div>
<p> 下面这3行,占用只有285M左右,下降了大约177M</p>
<div class="cnblogs_code">
<pre>performance_schema_max_table_instances=<span style="color: rgba(128, 0, 128, 1)">600</span><span style="color: rgba(0, 0, 0, 1)">
table_definition_cache</span>=<span style="color: rgba(128, 0, 128, 1)">400</span><span style="color: rgba(0, 0, 0, 1)">
table_open_cache</span>=<span style="color: rgba(128, 0, 128, 1)">256</span></pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/qkstart/p/10974622.html
頁:
[1]