Ubuntu 22.04部署MySQL8.4
1、部署MySQL87.41.1、解压及安装解压mkdir-p/opt/software/mysql tar-xf mysql-server_8.4.8-1ubuntu22.04_amd64.deb-bundle.tar-C mysql安装apt-get update apt-get install libaio1 apt-get install libmecab2 dpkg-i mysql-common_8.4.8-1ubuntu22.04_amd64.deb dpkg-i mysql-community-client-plugins_8.4.8-1ubuntu22.04_amd64.deb dpkg-i mysql-community-client-core_8.4.8-1ubuntu22.04_amd64.deb dpkg-i mysql-community-client_8.4.8-1ubuntu22.04_amd64.deb dpkg-i mysql-client_8.4.8-1ubuntu22.04_amd64.deb dpkg-i mysql-community-server_8.4.8-1ubuntu22.04_amd64.deb dpkg-i mysql-community-server-core_8.4.8-1ubuntu22.04_amd64.deb dpkg-i mysql-server_8.4.8-1ubuntu22.04_amd64.deb systemctl status mysql apt install-y net-tools netstat-anp|grep 33062、修改配置2.1、修改配置vi /etc/my.cnf[mysqld]# 基本设置usermysql basedir/usr datadir/data/mysql/datasocket/var/lib/mysql/mysql.sock pid-file/var/run/mysqld/mysqld.pid# 网络设置port3306 bind-address0.0.0.0skip-name-resolve# 日志路径log-error/data/mysql/log/mysqld.log slow_query_logON slow_query_log_file/data/mysql/log/slow.log long_query_time2# 设置字符集character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci# 设置默认存储引擎default-storage-engineINNODB# 激活插件mysql_native_passwordON# 安全性symbolic-links0#忽略大小写# lower_case_table_names1# 资源调优8C16Ginnodb_buffer_pool_size10G innodb_log_file_size1G innodb_log_buffer_size64M innodb_flush_log_at_trx_commit1 sync_binlog1 max_connections5000 max_allowed_packet64M thread_cache_size64 table_open_cache40962.1、AppArmor 允许自定义目录cat/etc/apparmor.d/local/usr.sbin.mysqld EOF/data/mysql/ r,/data/mysql/**rwk,/var/lib/mysql/ r,/var/lib/mysql/**rwk,/var/run/mysqld/ r,/var/run/mysqld/**rwk,EOF systemctl restart apparmor2.2、初始化数据库mysqld--initialize--usermysql--datadir/data/mysql/data2.3、启动MySQLsystemctl restart mysql systemctl enable mysql3、基本操作3.1、远程登录cat/data/mysql/log/mysqld.log|grep password# 切换到系统库use mysql;# 重置 root 密码强制用 mysql_native_password 插件避免兼容问题ALTER USERrootlocalhostIDENTIFIED WITH mysql_native_password BYKylin.2026;FLUSH PRIVILEGES;# MySQL服务开通对外访问权限CREATE USERroot%IDENTIFIED WITH mysql_native_password BYKylin.2026;GRANT ALL PRIVILEGES ON*.*TOroot%WITH GRANT OPTION;FLUSH PRIVILEGES;# update mysql.user set host% where userroot;# flush privileges;3.2、建库并赋权CREATE DATABASE hive CHARACTERSETutf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USERhive%IDENTIFIED WITH mysql_native_password BYWishFox.2026;GRANT ALL PRIVILEGES ON hive.*TOhive%WITH GRANT OPTION;FLUSH PRIVILEGES;show variables like%character%;