on Ubuntu 21.04 TLS (MySQL Latest)
# 安装数据库服务 apt-get install mysql-server # 进行初始化设置 mysql_secure_installation # 测试连接 mysql -u root -p
on Ubuntu 20.04 LTS (MySQL 5.7)
How To Install MySQL 5.7 on Ubuntu 20.04 | ComputingForGeeks
wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb dpkg -i mysql-apt-config_0.8.12-1_all.deb ... # 在配置过程中,选择 Ubuntu Bionic 版本,选择 MySQL 5.7 版本; ... apt-get install mysql-server=5.7.37-1ubuntu18.04 \ mysql-community-server=5.7.37-1ubuntu18.04 \ mysql-client=5.7.37-1ubuntu18.04 \ libmysqlclient-dev=5.7.37-1ubuntu18.04
MySQL 5.7 on CentOS 7.x
How to install MySQL 5.6 on CentOS 7
How to Install MySQL on CentOS 7
How to Install MySQL 5.7 on Linux CentOS and Ubuntu
该笔记将记录:在 CentOS 中,安装 MySQL 数据库的方法,以及常见问题的解决方案;
注意事项
1)建议参考官方文档以获取更多安装细节;
2)该安装过程不适用于 MariaDB 数据库;
第一步、添加官方仓库
// 添加官方仓库 # yum install -y https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm Loaded plugins: fastestmirror mysql57-community-release-el7-9.noarch.rpm | 9.0 kB 00:00:00 Examining /var/tmp/yum-root-EQhZWN/mysql57-community-release-el7-9.noarch.rpm: mysql57-community-release-el7-9.noarch Marking /var/tmp/yum-root-EQhZWN/mysql57-community-release-el7-9.noarch.rpm to be installed ... Complete! // 检查源是否已经启用 # yum repolist enabled | grep "mysql.*-community.*" // 更新本地缓存 # yum makecache
第二步、安装数据库
# 查看所有可用版本 yum info --showdup mysql-community-server.x86_64 | grep -E 'Version\s+:' # 根据情况选择需要的版本 yum install -y mysql-community-server-5.7.28 yum install -y mysql-community-server-5.7.22
第三步、启动数据库服务
systemctl enable mysqld.service systemctl start mysqld.service
第四步、初始化数据库
在安装 MySQL 服务后,无需进行初始化(这与 MariaDB 不同);
在服务启动后会生成默认密码,保存在 /var/log/mysqld.log 日志中:
grep 'temporary password' /var/log/mysqld.log
第五步、登录并修改密码
在首次登录数据库后,如果不修改密码将无法进行其他操作:
# 使用初始化密码登录数据库 mysql -u root -p # 修改密码 mysql> ALTER USER root@localhost IDENTIFIED BY 'your password';
由于密码策略要求比较高,如果不满足策略要求的密码,会提示如下错误:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
只要足够复杂就可以,比如 ;JAy_9'Z[;=`Lt$c 形式;或者调整密码策略,这里不再赘述;
MySQL 5.6.15 on CentOS 7.x
How to install MySQL 5.6 on CentOS 7
How to Install MySQL on CentOS 7
由于 CentOS 7.4 中自带 MySQL 5.5.60-MariaDB 不满足能要求,因此需要安装 MySQL 5.6 数据库:
#!/bin/sh # 添加 MySQL 仓库 yum install -y http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm yum repolist enabled | grep "mysql.*-community.*" # 检查源是否生效 # 安装服务 yum install -y mysql-community-server-5.6.15 # 启动并默认启动 systemctl enable mysqld systemctl start mysqld # 安全初始化 mysql_secure_installation # 连接测试,验证数据库是否连接正常 mysql -u root -p
MySQL 5.x on CentOS 6.x (Final)
HOW TO INSTALL MYSQL 5.6 ON CENTOS 6.7
适用于 CentOS 6.9 版本,(其他版本未测试,但也应该适用)
#1 添加仓库 rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm yum makecache #2 安装应用 yum -y install mysql mysql-server-5.6.15 #3 启动服务 chkconfig mysqld on service mysqld start #4 版本验证 mysql --version
MySQL 5.7 on Debian 10
How to install MySQL v5.7 using apt-get?
understanding the output of “apt-cache policy”
MySQL where’s the my.cnf path?
How To Install MySQL on Ubuntu 20.04 | DigitalOcean
第一步、添加官方仓库
安装,需要添加 MySQL 官方源,访问 Download MySQL APT Repository 下载 mysql-apt-config 包到本地,并安装:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb dpkg -i mysql-apt-config_0.8.10-1_all.deb
配置,在安装过程中,需要配置以选择所需版本:选 MySQL Server & Cluster => ENTER 进入 MySQL 服务版本的选择。因为我们要安装 MySQL 5.7 数据库,选择 mysql-5.7,按下 ENTER 确认,到此 MySQL 的 APT 包仓库就添加并设置结束了;
更新,执行命令更新本地缓存:
apt-get update
第二步、安装数据库
进行安装,现在可以执行apt-get install命令进行安装:
# 查看可用版本 apt-cache show mysql-server apt-cache policy mysql-server # 安装特定版本 apt-get install mysql-server=5.7.29-1debian9
设置密码,在安装过程中,会提示你输入数据库 ROOT 密码;
第四步、验证服务版本
检查已经安装的 MySQL 是否为 5.7 版本,执行如下命令:
mysql --version
从输出中可以看出当前为 MySQL 5.7.22 版本;
第五步、启动服务并连接
我们测试系统为 Debian 10,默认使用的 systemd 进行管理服务:
# 启动服务 systemctl start mysql.service # 设置服务开机启动 systemctl enable mysql.service # 连接数据库 mysql -h127.0.0.1 -uroot -p
附加说明
在 Debian 10 中,MySQL 配置文件为 /etc/mysql/conf.d/mysqld.cnf(可以手动创建)。使用 mysql --help | grep "Default options" -C 3 命令查看配置文件加载路径;
通过“通用的二进制程序”安装
在 Unix/Linux 上,使用通用二进制文件安装 MySQL 5.7
在 Unix/Linux 上,使用通用二进制文件安装 MySQL 5.6
MySQL/2.2 Installing MySQL on Unix/Linux Using Generic Binaries
#0 系统环境
Kali GNU/Linux Rolling
#1 下载
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
安装依赖的包
# apt-get install libaio1
创建用户及组
# groupadd mysql
# useradd -r -g mysql -s /bin/false mysql
解压二进制程序包
# cd /usr/local
# tar zxvf /path/to/mysql-VERSION-OS.tar.gz
# ln -s full-path-to-mysql-VERSION-OS mysql
进行初始化操作
# cd mysql
# mkdir mysql-files
# chown mysql:mysql mysql-files
# chmod 750 mysql-files
# bin/mysqld –initialize –user=mysql
# bin/mysql_ssl_rsa_setup
# bin/mysqld_safe –user=mysql &
可选步骤
# cp support-files/mysql.server /etc/init.d/mysql.server
通过源码编译安装(MySQL 5.6)
#!/bin/sh cd /usr/local/src ################################################################################ # 编译安装 ################################################################################ # 安装依赖 yum -y install make wget gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* \ libxml* ncurses-devel libmcrypt libtool-ltdl-devel* bison bison-devel \ ncurses-devel perl perl-devel # 下载安装 cmake 编译工具 wget http://yum.example.com/source/mysql/cmake-2.8.10.2.tar.gz tar -zxvf cmake-2.8.10.2.tar.gz cd cmake-2.8.10.2 ./configure --prefix=/usr/local/cmake make && make install cd /usr/local/src # 下载 MySQL5.6 源码包 wget http://yum.example.com/source/mysql/mysql-5.6.14.tar.gz tar -zxvf mysql-5.6.14.tar.gz cd mysql-5.6.14 mkdir source_downloads cd source_downloads wget http://yum.example.com/source/mysql/gmock-1.6.0.zip cd .. # 进行编译 /usr/local/cmake/bin/cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/mysqldata/data \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci # 如果编译报错则退出 shell if [ $? -gt 0 ];then exit0 fi make && make install ################################################################################ # 初始化并启动数据库 ################################################################################ cd /usr/local/src #创建运行 mysql 的用户 useradd mysql #初始化 mysql 数据库 /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf、 --basedir=/usr/local/mysql --datadir=/mysqldata/data --user=mysql #将 mysql 命令写入环境变量,并重新加载环境变量配置文件 echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile source /etc/profile #把 mysql 启动文件考入 init.d 并加入开机启动 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql chkconfig --add mysql chkconfig mysql on cd /usr/local/src mv /etc/my.cnf /etc/my.cnf.bak service mysql start #无法启动 groupadd myslq useradd -g mysql mysql mkdir -p /mysqldata/data chown -R mysql:mysql /mysqldata/data #修改 /etc/my.cnf datadir 改为 /mysqldata/data #提示找不到 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
通过 Docker Compose 部署
Docker Hub / mysql – Official Image | https://hub.docker.com/_/mysql/?tab=description
MySQL 5.7
version: '3.1' services: mysql-57: image: mysql:5.7 command: --default-authentication-plugin=mysql_native_password --max-connections=10000 restart: always environment: MYSQL_ROOT_PASSWORD: 0YKm24TV4qdbb TZ: Asia/Shanghai ports: - 3306:3306 volumes: - ./data:/var/lib/mysql/
MySQL 8.0
MySQL 8.0.22,Ubuntu 22.04.4 LTS,能够成功运行。
CPU does not support x86-64-v2 in the latest 8.4.0 · Issue #1055 · docker-library/mysql
MySQL 8.0.37,Ubuntu 22.04.4 LTS,产生 …… Fatal glibc error: CPU does not support x86-64-v2 …… 错误,需要调整虚拟化平台 CPU 类型。例如,使用 Host 类型。或,更换镜像,mysql 8.4.0-oraclelinux8 来解决问题。