升级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文件占用空间可以#屏蔽即可

 
 
         

密码保护:在heroku上部署vlmcsd:从此KMS不求人~

有读者反映已失效,经验证确实如此,建议待原作者修复再试,博主能力有限,尝试修复无果… 最近用KMS激活office2019的时候我就在想,有没有比较环保的方法搭...

黑色四叶草(更新至39集)

人类险些遭到魔神的毁灭,而拯救了人类的是一位被后世称为“魔法帝”的魔道士,“魔法帝”的故事也成为了传说/这是一个魔法意味着全部的世界/天生就无法使用魔法...

微博图床403?不怕,转移阵地即可~

最近发现博客内的图片大部分都报403,跑到论坛去搜索发现居然是微博开启外链图片保护,也就是说微博不再是最好的图床了,无奈下寻找好的替代方案. 当然博客内的...

强风吹拂1-23

博主看过强风之后,心里只想说一句话: 教练,我想学跑步~

密码保护:新办法申请netflix月票

如题,最近看到有大佬发的申请nf视频,据说有许多人拿这种方法牟利.昨天我看完视频后也去试了下,貌似可用,忍不住分享一下~ 首先你的手机要安装VIA这个浏览器(安...

密码保护:bin方式撸aws?这个可以有

如题,抱着试试看的态度,竟然成功新注册了个AWS,并且成功开启 Free Tier.简单写下整个过程~ AWS申请需要看你的设备还有ip,这两个哪个不合格都不行~真正懂行的...