Linux Ubuntu20.04 安装MySQL 8.0.x

@LNMP环境安装

安装MySQL8.0

安装步骤

  1. 源码、二进制文件下载地址:https://dev.mysql.com/downloads/mysql/
  2. 下载对应版本;
    Linux Ubuntu20.04 安装MySQL 8.0.x_第1张图片
  3. 源码上传服务器;
  4. cd /usr/local/mysql
  5. 把tar包mv到指定版本的目录中
  6. Tar包解压:
 tar -xvf mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz
  1. 解压以后删除原来的压缩包
rm -f mysql-8.0.34-linux-glibc2.28-x86_64.tar.gz
  1. 重命名目录
mv  mysql-8.0.34-linux-glibc2.28-x86_64 mysql-8.0.34
  1. 进入源码目录
cd /usr/local/mysql/mysql-8.0.34/ 

Linux Ubuntu20.04 安装MySQL 8.0.x_第2张图片

MySQL8配置

  • 配置PATH环境变量
    • 打开配置文件
    • 进入编辑模式 按 i 键即可进入编辑模式
    • 添加环境变量,在配置文件最下方添加如下信息(以具体安装包解压路径为准)。
    • 保存退出(:wq)
    • 刷新配置文件
    • 检验环境变量是否配置成功
vim /etc/profile
# 在文件的最底部增加
export PATH=/usr/local/mysql/mysql-8.0.34/bin:$PATH
# : wq保存

source /etc/profile #刷新配置文件

mysql --version # 检查是否配置成功

在这里插入图片描述

  • 创建用户组和用户并赋予权限
    • 创建用户组和用户并且赋予权限
groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
  • 将MySQL服务添加到系统
    • 将mysql.server文件复制到/etc/init.d/目录下,并重命名为mysqld
cp /usr/local/mysql/mysql-8.0.34/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

cp -f /usr/local/mysql/mysql-8.0.34/bin/mysqld /lib/systemd/system/mysql.service

systemctl daemon-reload
 
#设置开机启动
sudo systemctl enable mysql.service
sudo systemctl start mysql.service

systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld
systemctl status mysqld

MySQL8初始化

  • 创建my.cnf文件
vim /etc/my.cnf

[mysql]
# 默认字符集
default-character-set=utf8mb4


[client]
port       = 3306
socket     = /tmp/mysql.sock


[mysqld]
port       = 3306
server-id  = 3306
user       = mysql
socket     = /tmp/mysql.sock
# 安装目录
basedir    = /usr/local/mysql/mysql-8.0.34
# 数据存放目录
datadir    = /usr/local/mysql/mysql-8.0.34/data
log-bin    = /usr/local/mysql/mysql-8.0.34/data/mysql-bin
innodb_data_home_dir      =/usr/local/mysql/mysql-8.0.34/data
innodb_log_group_home_dir =/usr/local/mysql/mysql-8.0.34/data
# 日志及进程数据的存放目录
log-error =/usr/local/mysql/mysql-8.0.34/data/mysql.log
pid-file  =/usr/local/mysql/mysql-8.0.34/data/mysql.pid
# 服务端字符集
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
##### 以上涉及的文件夹,注意修改
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
# 创建表时使用的默认存储引擎
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED


[mysqldump]
quick
max_allowed_packet = 50M


[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M


[mysqlhotcopy]
interactive-timeout
  • 初始化
mysqld --defaults-file=/etc/my.cnf  --user=mysql --initialize-insecure

登录MySQL8

-输入命令直接回车就行,默认没有密码,登录后先设置密码

mysql -uroot -p  #进入mysql

alter user 'root'@'localhost' identified by 'password';

flush privileges; #刷新权限

可以愉快使用MySQL8了

安装中遇到的问题

启动MySQL服务时报 my_print_defaults:未找到命令错误,为什么需要my_print_defaults呢?这是因为mysql.server执行时就是通过my_print_defaults来读取my.cnf配置变量的。

Linux Ubuntu20.04 安装MySQL 8.0.x_第3张图片
将mysql目录下的bin/my_print_defaults链接到/usr/bin目录下。

cd /usr/bin

sudo ln -s  /usr/local/mysql/mysql-8.0.34/bin/my_print_defaults

你可能感兴趣的:(MySQL,1024程序员节,mysql,linux)