Skip to content

mysql 安装

ubuntu

基础依赖软件安装

sudo apt-get install libmecab2 \
                     libjson-perl \ 
                     mecab-ipadic-utf8 \
                     mecab-utils \ 
                     mecab-ipadic

apt 源安装

安装当前最新版本,有apt源维护

https://dev.mysql.com/downloads/

MySQL APT Repository ->

Ubuntu / Debian (Architecture Independent), DEB Package 17.6K Download

wget mysql-apt-config_0.8.33-1_all.deb
dpkg -i ./mysql-apt-config_0.8.33-1_all.deb

生成源文件 /etc/apt/sources.list.d/mysql.list

# apt-get update -y 

# apt list -a mysql-server
Listing... Done
mysql-server/unknown 8.0.40-1ubuntu22.04 amd64 [upgradable from: 8.0.36-1ubuntu22.04]
mysql-server/jammy-updates,jammy-security 8.0.40-0ubuntu0.22.04.1 amd64
mysql-server/now 8.0.36-1ubuntu22.04 amd64 [installed,upgradable to: 8.0.40-1ubuntu22.04]
mysql-server/jammy 8.0.28-0ubuntu4 amd64

选择版本进行安装

apt-get install mysql-server='8.0.40-1ubuntu22.04'

大版本选择

sudo dpkg-reconfigure mysql-apt-config

安装包指定版本安装

下载指的版本 https://downloads.mysql.com/archives/community/

Ubuntu Linux 23.10 (x86, 64-bit), DEB Bundle Dec 14, 2023 415.2M Download

解压并安装

tar xf ./mysql-server_8.0.36-1ubuntu22.04_amd64.deb-bundle.tar
dpkg -i  ./*.deb

mysqlshell

下载地址 https://dev.mysql.com/downloads/shell/

DEB Package     8.0.40  36.5M   Download
(mysql-shell_8.0.40-1ubuntu22.04_amd64.deb)     MD5: d965889b156b3db9451bfd367ea8d51a | Signature

下载并安装

wget https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell_8.0.40-1ubuntu22.04_amd64.deb
dpkg -i ./mysql-shell_8.0.40-1ubuntu22.04_amd64.deb

mysql-router

下载地址 https://dev.mysql.com/downloads/router/

DEB Package     8.0.40  9.0M    Download
(mysql-router-community_8.0.40-1ubuntu22.04_amd64.deb)  MD5: 9e207810588fad642c93306c483e76b8 | Signature

下载并安装

wget https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-community_8.0.40-1ubuntu22.04_amd64.deb
dpkg -i ./mysql-router-community_8.0.40-1ubuntu22.04_amd64.deb

源码安装

基础软件安装

apt-get install libaio-dev \
    libsasl2-modules-gssapi-mit \
    libkrb5-dev \
    libsasl2-dev \
    libldap2-dev \
    bison \
    autoconf \
    automake \
    libtool

下载源码

MYSQL_MAJOR=8.0
MYSQL_VERSION=8.0.40
curl https://cdn.mysql.com/Downloads/MySQL-${MYSQL_MAJOR}/mysql-${MYSQL_VERSION}.tar.gz --output mysql-${MYSQL_VERSION}.tar.gz
tar --no-same-owner -xf mysql-${MYSQL_VERSION}.tar.gz
cd mysql-${MYSQL_VERSION}

编译安装

cmake  -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/tmp/boost/ -DBUILD_CONFIG=mysql_release -DWITH_AUTHENTICATION_LDAP=1 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/usr/local/mysql/conf -DDEFAULT_SYSCONFDIR=/usr/local/mysql/conf -DFORCE_INSOURCE_BUILD=1
make  --jobs=2
make  install --jobs=2
make  clean
strip  /usr/local/mysql/bin/comp_err
strip  /usr/local/mysql/bin/ibd2sdi
strip  /usr/local/mysql/bin/innochecksum
strip  /usr/local/mysql/bin/lz4_decompress
strip  /usr/local/mysql/bin/my_print_defaults
strip  /usr/local/mysql/bin/myisam_ftdump
strip  /usr/local/mysql/bin/myisamchk
strip  /usr/local/mysql/bin/myisamlog
strip  /usr/local/mysql/bin/myisampack
strip  /usr/local/mysql/bin/mysql
strip  /usr/local/mysql/bin/mysql_config_editor
strip  /usr/local/mysql/bin/mysql_migrate_keyring
strip  /usr/local/mysql/bin/mysql_secure_installation
strip  /usr/local/mysql/bin/mysql_ssl_rsa_setup
strip  /usr/local/mysql/bin/mysql_tzinfo_to_sql
strip  /usr/local/mysql/bin/mysql_upgrade
strip  /usr/local/mysql/bin/mysqladmin
strip  /usr/local/mysql/bin/mysqlbinlog
strip  /usr/local/mysql/bin/mysqlcheck
strip  /usr/local/mysql/bin/mysqld
strip  /usr/local/mysql/bin/mysqldump
strip  /usr/local/mysql/bin/mysqlimport
strip  /usr/local/mysql/bin/mysqlpump
strip  /usr/local/mysql/bin/mysqlrouter
strip  /usr/local/mysql/bin/mysqlrouter_keyring
strip  /usr/local/mysql/bin/mysqlrouter_passwd
strip  /usr/local/mysql/bin/mysqlrouter_plugin_info
strip  /usr/local/mysql/bin/mysqlshow
strip  /usr/local/mysql/bin/mysqlslap
strip  /usr/local/mysql/bin/perror
strip  /usr/local/mysql/bin/zlib_decompress

# remove mysql test dir
rm -rf /usr/local/mysql/mysql-test
rm -rf /usr/local/mysql/mysql-8.0/mysql-test

# copy mysql build files to data dir
cp -r /usr/local/mysql/ ${DATA_DIR}/

# clean tmp data
cd .. && rm -rf mysql-${MYSQL_VERSION} mysql-${MYSQL_VERSION}.tar.gz 

初始化数据

1、查看 apparmor 的开启和保护情况:
(1)sudo apparmor_status

2、列出AppArmor所有可用配置文件:
(1)ls /etc/apparmor.d/

3、假设我们要禁用Apparmor for MySQL Server:
(1)sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
(2)apparmor_parser -R /etc/apparmor.d/disable/usr.sbin.mysqld
(3)这是再次执行apparmor_status,应该看不到/usr/sbin/mysqld 了

4、要完全禁用AppArmor:
(1)sudo systemctl disable apparmor
sudo mysqld --initialize --user=mysql --datadir=/var/lib/rancher/mysql/