这一版本在JSON文档存储、密码策略、默认字符集、角色管理、高可用性、性能优化等方面都有显著增强
为了充分利用这些改进,本文将详细介绍如何在Linux和Windows环境下通过二进制包安装MySQL8.0.11
一、Linux环境下的安装步骤 1. 创建用户和组 在安装MySQL之前,首先需要创建一个专用的用户和组,以确保数据库服务的安全运行
bash groupadd mysql useradd -g mysql mysql echo password | passwd --stdin mysql 上述命令首先创建一个名为`mysql`的用户组,然后创建一个属于该组的用户`mysql`,并为其设置密码
2. 创建所需目录 接下来,需要创建一系列目录来存储MySQL的数据文件、日志文件、临时文件等
bash mkdir -p /data/mysql/tmp mkdir -p /data/mysql/data mkdir -p /data/mysql/dumps mkdir -p /data/mysql/log mkdir -p /data/mysql/undo mkdir -p /data/servers/mysql/etc 然后,将这些目录的所有权更改为`mysql`用户和组
bash chown mysql.mysql -R /data/mysql chown mysql.mysql -R /data/servers/mysql 3. 下载和解压二进制包 从MySQL的官方CDN下载MySQL8.0.11的二进制包,并将其解压到指定目录
bash wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /data/servers/mysql 4. 配置环境变量 为了使MySQL的二进制文件能够在系统的任何位置被调用,需要将其路径添加到环境变量中
bash sed -i $a export PATH=$PATH:/data/servers/mysql/bin /etc/profile source /etc/profile 5. 创建error.log文件 MySQL8.0版本在没有error.log文件的情况下不会自动创建,并会报错
因此,需要手动创建这个文件,并设置其所有权
bash touch /data/mysql/log/error.log chown mysql.mysql /data/mysql/log/error.log 6.初始化数据库 使用`mysqld --initialize`命令来初始化数据库
这一步会生成一些必要的系统表,并生成一个临时密码
bash mysqld --initialize --user=mysql --basedir=/data/servers/mysql/ --datadir=/data/mysql/data --innodb_undo_directory=/data/mysql/undo --innodb_undo_tablespaces=4 --socket=/data/mysql/tmp/mysql.socket --port=3358 --innodb_data_file_path=ibdata1:512M:autoextend --lower-case-table-names=1 请注意,8.0版本在初始化时必须指定这些参数,否则会报错
初始化成功后,会生成一个临时密码,用于首次登录
7. 配置MySQL 创建并编辑MySQL的配置文件`my.cnf`
bash vim /data/servers/mysql/etc/my.cnf 在配置文件中,可以添加或修改一些基本的配置选项,如端口号、数据目录、字符集等
8. 启动MySQL服务 使用`mysqld_safe`命令来启动MySQL服务
bash /data/servers/mysql/bin/mysqld_safe --defaults-file=/data/servers/mysql/etc/my.cnf & 9. 登录MySQL 使用初始化时生成的临时密码登录MySQL
bash /data/servers/mysql/bin/mysql -uroot -p --socket=/data/mysql/tmp/mysql.socket 登录后,系统会提示输入临时密码
10. 修改root密码 为了提高安全性,登录后应立即修改root密码
sql ALTER USER root@localhost IDENTIFIED BY 123456; 请注意,MySQL8.0默认采用新的加密方式`caching_sha2_password`,这可能会导致8.0以下版本的客户端无法连接
如果需要兼容性,可以修改为旧的加密方式`mysql_native_password`
sql ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY 123456; FLUSH PRIVILEGES; 或者在`my.cnf`配置文件中修改默认加密方式
ini 【mysqld】 default_authentication_plugin=mysql_native_password 二、Windows环境下的安装步骤 1. 下载和解压安装包 从MySQL官方网站下载MySQL8.0.11的Windows安装包(例如`mysql-8.0.11-winx64.zip`),并将其解压到合适的目录,如`C:webmysql-8.0.11-winx64`
2. 创建配置文件 在解压后的目录下创建`my.ini`配置文件,并配置基本信息
ini 【client】 default-character-set=utf8 【mysqld】 port=3306 basedir=C:webmysql-8.0.11-winx64 datadir不需要手动设置,初始化时会自动创建 max_connections=20 character-set-server=utf8 default-storage-engine=INNODB 请注意,配置文件的编码格式必须为ANSI,否则后续会报错
3.初始化数据库 以管理员身份打开命令提示符,切换到MySQL的`bin`目录下,执行初始化命令
bash cd C:webmysql-8.0.11-winx64bin mysqld --initialize --console 初始化成功后,会打印出一个临时密码
4. 安装MySQL服务 在`bin`目录下执行以下命令来安装MySQL服务
bash mysqld install 如果安装成功,会显示`Service successfully installed`
5. 配置环境变量 为了方便在命令行中调用MySQL,需要将MySQL的`bin`目录添加到系统的环境变量中
- 新建系统变量`MYSQL_HOME`,变量值为MySQL的`bin`目录路径(例如`C:webmysql-8.0.11-winx64bin`)
- 在`Path`变量中添加`%MYSQL_HOME%`
6. 启动MySQL服务 使用以下命令启动MySQL服务
bash net start mysql 7. 登录MySQL 使用临时密码登录MySQL
bash mysql -u root -p 登录后,系统会提示输入临时密码
8. 修改root密码 为了提高安全性,登录后应立即修改root密码
sql ALTER USER root@localhost IDENTIFIED BY 123456; 如果需要远程访问MySQL,还需要修改`host`字段的值为`%`,并刷新权限
sql UPDATE mysql.user SET host=% WHERE use