升级mysql至8.0提升性能体验

升级mysql至8.0提升性能体验

博主对比了php发现mysql步子迈的更大——从5.x直接升级到了8.x,一般版本号的跨越都会有新的功能特性加进来,MySQL也是一样的,实际安装体验后发现没有了mysql-safe进程,据说在大流量并发下会有接近一倍的性能提升,对于我等小博客来说,虽没法体验但还是有吸引力的。
现在博主就实际升级新版mysql并开始“服役”,发现wordpress完美支持,这也算一样惊喜吧

用APT源安装

在升级前,你需要备份你的数据库,我这里用了adminer,单文件,丢到网站根目录就好,怕不安全你可以把文件改成随机.

登陆服务器后台,由于服务器性能太辣鸡,于是选择用官方的apt安装,实际这种办法是最快捷安全的,因为源码编译方式没有1G以上内存/10G以上硬盘是搞不定的!

打开https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/ 依照教程,运行以下命令

wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
duso dpkg -i mysql-apt-config_0.8.10-1_all.deb
sudo apt-get update

这时你会发现下图,选择OK,一路回车即可,
再运行 sudo apt-get install -y mysql-server 即可。安装过程中需要你设置密码/选着密码加密方式(sha2)选择的问题(如下图),回车即可,有需求可以回来再改。

不好用,怎么卸载呢

卸载其实也很简单,就和其他apt-get 安装的软件一样卸载,运行以下命令

sudo service mysql stop
sudo apt-get remove mysql-server 
sudo apt-get autoremove 
sudo rm -rfv /etc/mysql /var/lib/mysql

大功告成,如果你还想安装旧版本的Mysql,运行 sudo dpkg-reconfigure mysql-apt-config 重新选择版本 安装即可。如果不放心卸没卸干净,运行 dpkg -l | grep mysql | grep ii 把获取的安装包名称用 sudo apt-get remove [包名] 即可。想修改密码的话用ALTER user ‘root’@’localhost’ IDENTIFIED BY ‘密码’;

新版虽好,但内存占用有点大

的确有这个问题,top查看发现小鸡的内存吃的一干二净,这可不行,修改 vi /etc/mysql/mysql.cnf ,把下面那一坨覆盖进去,保存,service mysql restart 即可。

[mysql]
prompt="MySQL [\d]> "
no-auto-rehash

[mysqld]
socket		= /var/run/mysqld/mysqld.sock
pid-file	= /var/run/mysqld/mysqld.pid
datadir		= /var/lib/mysql
user = mysql
server-id = 1
#skip-networking
back_log = 300
max_connections = 170
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 500M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 4M
thread_cache_size = 8
ft_min_word_len = 4
log_bin = mysql-bin
binlog_format = mixed
binlog_expire_logs_seconds = 604800
log-error	= /var/log/mysql/error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
performance_schema = 0
explicit_defaults_for_timestamp
#lower_case_table_names = 1
skip-external-locking
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 8M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
interactive_timeout = 28800
wait_timeout = 28800
[mysqldump]
quick
max_allowed_packet = 500M

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
symbolic-links=0

重启即可,不想log文件占用空间可以#屏蔽即可

 
 
         

曲线方式领取暴雪平台游戏《天命2》

今天在stcn看到的消息,当然我看到的时候已经过去了四个小时…这时战网平台改变了规则,即想免费领取游戏就必须绑定当地的手机号码….我的的天,不买...

(非steam)领取价值百元的《僵尸部队三部曲》

如标题,访问这个链接,注册个账号,下载后坚持玩五分钟即可永久入库.注意这个不是steam,不能入库,亲试联机不可用(想联机只能steam),玩单机还是可以的.游戏本身...

撸个Albany 校友邮箱

昨天在电报群看到有人”扯逼”,仔细看发现是关于注册美国校友邮箱的法子.好奇中就开始碰运气之旅. 收集信息是关键 注册本身并不难,难在寻找校友...

悲催,bootcdn要跑路啦!

上周将主题的JS文件全改成了外链,用的是bootcdn,本来好好的,不料今天在v2发现有人提到这个问题:bootcdn外链文件挂了,急忙修改主题,将以前外链的库文件改成jsd...

实验性用caddy支持quic,其实入门很简单

本着不折腾会死精神,还是硬着头皮试着搭建caddy来开启quic支持.不过整个流程也很简单,而且实际效果也很出众,加载时间大约节省了二分之一,于是我想把整个流程...

令人糟心的薅羊毛活动:说的是你!humblebundle

humblebundle大发慈悲开启了印花换游戏的活动,本着重在参与的精神,我也参与其中,不料事情并没有那么简单! 糟心一:初尝缺货! 第一轮还好,可能游戏本身也不值...