Ubuntu 安装 MySQL

使用 DEB 安装 MySQL,从官方网站下载对应版本 DEB 包,这里我下载的是 8.1.0 版本的 MySQL。

下载并解压 TAR。

安装

复制代码
sudo apt-get update
sudo apt-get install libmecab2
sudo dpkg -i mysql-community-client-core_8.1.0-1ubuntu22.04_amd64.deb 
sudo dpkg -i mysql-community-client-plugins_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i  mysql-community-client_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i  mysql-client_8.1.0-1ubuntu22.04_amd64.deb
 
sudo dpkg -i mysql-common_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-server-core_8.1.0-1ubuntu22.04_amd64.deb
sudo dpkg -i mysql-community-server_8.1.0-1ubuntu22.04_amd64.deb

创建用户

复制代码
CREATE USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

修改配置

复制代码
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
port = 13306
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_bin
default_authentication_plugin=mysql_native_password
datadir=/var/lib/mysql
table_open_cache=128
max_connections=2000
max_connect_errors=6000
innodb_file_per_table=1
innodb_buffer_pool_size=1G
max_allowed_packet=256M
transaction_isolation=READ-COMMITTED
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout=1800
innodb_flush_log_at_trx_commit=0
group_concat_max_len=1024000
skip-name-resolve

定期备份

定期备份数据库,每晚 9 点执行脚本

复制代码
mysqldump -u root -p123456 db_trade | gzip > /app/backup/db_trade_$(date +%Y%m%d).sql.gz
0 21 * * * /usr/bin/mysqldump -u root -pYOURPASSWORD db_trade | /bin/gzip > /app/backup/db_trade_$(date +\%Y\%m\%d).sql.gz
# 做多保留 5 个备份文件
ls -tp /app/backup/db_trade_*.sql.gz | tail -n +6 | xargs -I {} rm -- {}

从备份中恢复

复制代码
zcat /path/to/db_trade_20230315.sql.gz | mysql -u root -p db_trade
相关推荐
千里马学框架2 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone2 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
小白男神2 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶2 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
致远ccc2 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo2 天前
Kotlin 协程中的 Job 结构化并发与取消
android
kybs19912 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
sun0077002 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
程序猿_极客2 天前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统