> 技术文档 > Ubuntu 安装 MySQL 8 完整指南_ubuntu 安装mysql8

Ubuntu 安装 MySQL 8 完整指南_ubuntu 安装mysql8



Ubuntu 安装 MySQL 8 完整指南

一、准备工作

  • 权限问题:如果执行命令时遇到权限问题,可在命令前添加 sudo
  • 文件权限:某些文件或文件夹可能需要修改权限,例如使用 sudo chmod 777 文件或文件夹路径

二、下载与解压

  1. 进入目录
    cd /usr/local/
  2. 下载资源包
    wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
    • 其他版本可在 MySQL 官方网站 获取。
  3. 解压
    tar -Jxvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

三、配置

  1. 重命名文件夹
    mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql8
  2. 添加环境变量
    • 编辑 /etc/profile 文件:
      sudo vim /etc/profile
    • 在文件末尾追加:
      export PATH=$PATH:/usr/local/mysql8/bin
    • 重载环境变量:
      source /etc/profile
  3. 安装依赖
    sudo apt-get install libtinfo5sudo apt install libaio1
  4. 创建用户组和用户
    sudo groupadd mysqlsudo useradd -r -g mysql mysql
  5. 设置数据目录
    sudo mkdir -p /usr/local/mysql8/datasudo chown -R mysql:mysql /usr/local/mysql8/datasudo chmod -R 700 /usr/local/mysql8/data
  6. 准备配置文件
    • my.cnf 文件放置在 /etc/ 目录下:
      sudo vim /etc/my.cnf
    • 配置文件内容:
      [mysql]default-character-set=utf8mb4[client]port=3306socket=/tmp/mysql.sock[mysqld]port=3306server-id=3306user=mysqllog_timestamps=SYSTEMdefault-time_zone=\'+8:00\'socket=/tmp/mysql.sockbasedir=/usr/local/mysql8datadir=/usr/local/mysql8/datalog-bin=/usr/local/mysql8/data/mysql-bininnodb_data_home_dir=/usr/local/mysql8/datainnodb_log_group_home_dir=/usr/local/mysql8/datalog-error=/usr/local/mysql8/data/mysql.logpid-file=/usr/local/mysql8/data/mysql.pidlower_case_table_names=1character-set-server=utf8mb4autocommit=1skip-external-lockingkey_buffer_size=256Mmax_allowed_packet=1Mtable_open_cache=1024sort_buffer_size=4Mnet_buffer_length=8Kread_buffer_size=4Mread_rnd_buffer_size=512Kmyisam_sort_buffer_size=64Mthread_cache_size=128tmp_table_size=128Mexplicit_defaults_for_timestamp=truemax_connections=500max_connect_errors=100open_files_limit=65535binlog_format=mixedbinlog_expire_logs_seconds=864000default_storage_engine=InnoDBinnodb_data_file_path=ibdata1:10M:autoextendinnodb_buffer_pool_size=1024Minnodb_log_file_size=256Minnodb_log_buffer_size=8Minnodb_flush_log_at_trx_commit=1innodb_lock_wait_timeout=50transaction-isolation=READ-COMMITTED[mysqldump]quickmax_allowed_packet=16M[myisamchk]key_buffer_size=256Msort_buffer_size=4Mread_buffer=2Mwrite_buffer=2M[mysqlhotcopy]interactive-timeout

四、安装与启动

  1. 初始化 MySQL
    sudo mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/usr/local/mysql8/data --user=mysql --initialize
    • 初始化完成后,系统会生成一个临时密码,临时密码可以在以下日志文件中找到:
      /usr/local/mysql8/data/error.log
    • 示例输出:
      A temporary password is generated for root@localhost: ;pq4R.Z?)OR?
  2. 使用临时密码登录
    mysql -hlocalhost -uroot -p\';pq4R.Z?)OR?\' -P3306
    • 输入临时密码后登录。
  3. 修改密码
    ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'password123\';
    • password123 替换为你想要设置的新密码。
  4. 授权远程访问
    CREATE USER \'root\'@\'%\' IDENTIFIED BY \'password123\';GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\';FLUSH PRIVILEGES;
    • 这样,root 用户就可以从任何 IP 地址远程访问 MySQL 了。

五、启动 MySQL

  1. 启动 MySQL
    sudo /usr/local/mysql8/bin/mysqld_safe --defaults-file=/etc/my.cnf &
    • 或者使用环境变量简化命令:
      sudo mysqld_safe --defaults-file=/etc/my.cnf &
  2. 查看 MySQL 是否启动
    ps -ef | grep mysql

六、开机自启动

  1. 编写启动脚本
    • 创建 startMysql.sh 脚本:
      sudo vim /usr/local/startMysql.sh
    • 脚本内容:
      #!/bin/bashsource ~/.profilemysql_cnf=\'/etc/my.cnf\'mysql_safe_path=\'/usr/local/mysql8/bin/mysqld_safe\'if [ ! -x \"$mysql_safe_path\" ]; then echo \"Error: $mysql_safe_path not found or not executable.\" exit 1fi$mysql_safe_path --defaults-file=${mysql_cnf} > /var/log/mysql_startup.log 2>&1 &echo \"MySQL is starting in the background. Check /var/log/mysql_startup.log for details.\"
    • 赋予脚本可执行权限:
      sudo chmod +x /usr/local/startMysql.sh
  2. 将脚本加入开机启动
    • 编辑 /etc/rc.local 文件:
      sudo vim /etc/rc.local
    • 添加以下内容:
      #!/bin/sh -e/usr/local/startMysql.shexit 0
    • 确保文件可执行:
      sudo chmod +x /etc/rc.local

七、验证安装

  1. 远程连接测试

    • 在另一台机器上使用以下命令测试远程连接:
      mysql -h<你的服务器IP> -uroot -p
    • 输入密码后,如果能够成功登录,则说明远程连接已成功配置。
  2. 查看数据库列表

    SHOW DATABASES;

以上是完整的 Ubuntu 安装 MySQL 8 的指南,涵盖了从安装、配置到启动、授权远程访问以及开机自启动的全部步骤。按照这些步骤操作即可完成 MySQL 8 的安装和配置。