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

 
 
         

One Hour One Life PC单机版试玩

最近博主迷上了这个叫Onelife的游戏,游戏本身设计的很有意思–不同于其他模拟游戏,它限制单个玩家一局只能玩一小时,想发展科技树就不得不想家族一样一代...

试用 nginx Fastcgi cache月余感想

nginx Fastcgi cache这个缓存方案我曾经在两年前使用过,如今我还是忍不住拿来用,因为这个缓存方式真的很棒,可以完美替代像w3t之类的缓存插件~ 教程很简单,你...

杂谈:把个陈年老站又支起来啦~

没错,闲来无事把2015年关张的网站又重建了~重建后发现,里面图挂的差不多了,好多服务也都挂掉了,比如百度网盘外链,比如贴图库…感慨中让我细数下这些挂掉...

东京喰钟:re 1-24集

FFFCE5A9C5EC9326B8CC11B9A38E0934D53B94CA 剧情在最近几集变得有点快:比如突然金木就脱离处男行列,并一夜之间就有了自己的孩子等等…槽点有点多,打斗剧...

硬核级撸羊毛:有条件获取Assassin’s Creed Odyssey

如题,是不是很诱惑?本文适合已经获得谷歌邀请的用户,截至日期在明年1月15日,只要在PROJECT STREAM游玩一小时在线版Assassin’s Creed Odyssey即可! 分享...

土法解决潘多拉多拨v4+v6共存问题

困扰近月的问题今天用特别扭的方法解决了…虽然不完美,可也算一种解决办法了.亲测手机+pc可以顺利获取ipv6地址. 如果你稍微了解mwan3就会知道,在ipv4时...