MySQL8安装教程

611次阅读
没有评论

共计 6160 个字符,预计需要花费 16 分钟才能阅读完成。

MySQL 8.0 正式版已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能!下面来记录一下安装过程和遇到的问题以及解决方案!

MySQL8安装教程

MySQL8下载地址:MySQL :: Download MySQL Community Server

MySQL8中文官网:MySQL

MySQL8安装教程

Windows系统安装

前期准备工作

下载官网的zip压缩文件

MySQL8安装教程

解压到指定目录,例如这里解压到D盘根目录:

MySQL8安装教程

创建mysql数据库的数据的存放目录,这里演示创建data作为演示

MySQL8安装教程

MySQL根目录下,新建文本文件,重命名文件为my.ini配置下面内容,MySQL安装目录和数据存放目录记得修改一下,保存时记得选择编码格式ANSI编码。

[mysqld]
# 设置3306端口
port=3306
# 设置不区分大小写
lower_case_table_names=1
innodb_file_per_table=ON
sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION'
innodb_strict_mode=OFF
max_allowed_packet=1024M
# 定时清理数据库日志
log-bin=mysql-bin
binlog_expire_logs_seconds=864000
# 设置远程登录
bind-address=0.0.0.0
#设置mysql的安装目录
basedir=D:\mysql-8.0.32-winx64
# 设置mysql数据库的数据的存放目录 
datadir=D:\mysql-8.0.32-winx64\data
# 允许最大连接数
max_connections=1000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

MySQL配置文件详解:MySQL 配置文件 my.cnf / my.ini 逐行详解-阿里云开发者社区 (aliyun.com)

配置MySQL环境变量:

MySQL8安装教程

MySQL8安装教程

安装数据库

打开CMD命令行,需要以管理员身份运行,输入初始化命令:

mysqld --initialize --console

MySQL8安装教程

安装MySQL服务,并启动MySQL

mysqld --install

net start mysql

如果想自定义MySQL服务名,在 install 参数后面添加自定义服务名称即可,例如:mysqld --install MySQL8

MySQL8安装教程

登录MySQL,输入命令:

mysql -uroot -pjQCl-rywF6o9   ## 注意这里的密码为你的随机密码

##登录参数详解:-hIP地址  -u登录名 -p登录密码 -P端口号

配置root用户:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.32

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
## 修改root账号密码为【123】
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
Query OK, 0 rows affected (0.00 sec)
## 修改root账号密码规则,密码和上面修改的保持一致
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)
## 切换到mysql数据库对root用户进行权限配置
mysql> use mysql
Database changed
## 设置root用户任意IP地址可以进行连接
mysql> update user set host='%' where user = 'root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
## 刷新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.03 sec)
## 授权超级管理员
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
Query OK, 0 rows affected (0.00 sec)
## 刷新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
## 退出
mysql> exit
Bye

使用客户端进行连接:

MySQL8安装教程

Windows安装到此结束!!!

注意事项

1、初始化时,提示缺少DLL文件,解决方案,安装Microsoft Visual C++

最新受支持的 Visual C++ 可再发行程序包下载 | Microsoft Learn

2、检查配置文件,配置文件编码是否为ANSI,而不是GBK或者UTF-8

3、检查端口是否被占用,cmd命令行输入:netstat -aon|findstr “端口号” 查看端口是否被占用


Linux系统安装

前期准备工作

这里演示系统为centos7,检查Mysql安装包和依赖包:

rpm -qa |grep mysql

如果有删除上面的安装包和依赖包:

sudo yum remove mysql*

检查是否存在Mariadb,若是存在直接删除Mariadb

// 检查是否存在Mariadb
rpm -qa |grep mariadb
// 删除Mariadb
sudo rpm -e --nodeps mariadb*

删除Mysql的配置文件

rm -rf /etc/my.*

安装常用工具:

yum -y install wget unzip net-tools lsof vim

检查系统的glibc版本,输入此命令查看:

ldd --version

MySQL8安装教程

这里演示系统的glibc版本是2.17,如果你的glibc版本低于2.17但是高于2.12,就选择2.12的版本。根据你的操作系统自行判断下载。

MySQL8安装教程

配置依赖环境

  • 如果您以前使用您的操作安装了 MySQL 系统原生包管理系统,如 Yum 或 APT, 使用本机二进制文件进行安装时可能会遇到问题。 确保您以前的MySQL安装已被删除 完全(使用您的包管理系统),并且任何 其他文件,例如数据文件的旧版本, 也被删除了。您还应该检查 配置文件,如或目录和删除 他们。/etc/my.cnf 或者 /etc/mysql

    有关将第三方软件包替换为 官方 MySQL 软件包,参见相关 APT 指南百胜 指南

  • MySQL依赖于库。数据目录初始化和后续服务器 如果未在本地安装此库,则启动步骤将失败。 如有必要,请使用适当的软件包进行安装 经理。例如,在基于 Yum 的系统上:libaio

    $> yum search libaio  # search for info
    $> yum install libaio # install library

    或者,在基于 APT 的系统上:

    $> apt-cache search libaio # search for info
    $> apt-get install libaio1 # install library
  • *Oracle Linux 8 / Red Hat 8* (EL8):默认情况下,这些平台不安装文件,这是必需的 由 MySQL 客户端 bin/mysql 用于包和 . 要变通解决此问题,请安装软件包:/lib64/libtinfo.so.5mysql-VERSION-el7-x86_64.tar.gzmysql-VERSION-linux-glibc2.12-x86_64.tar.xzncurses-compat-libs

    $> yum install ncurses-compat-libs

安装数据库

进入到MySQL压缩包目录,解压到local目录下或者opt目录下,或者你想指定的目录下面:

tar -xvf mysql-8.0.32-linux-glibc2.17-x86_64-minimal.tar.xz -C /usr/local/  ## 解压到usr/local目录下面

重命名MySQL目录名称:

mv /usr/local/mysql-8.0.32-linux-glibc2.17-x86_64-minimal/ /usr/local/mysql

创建MySQL用户和组

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

创建数据存放目录和tmp目录,这里存放目录名为data

mkdir /usr/local/mysql/data /usr/local/mysql/tmp

编辑MySQL配置文件my.cnf,输入命令vim /etc/my.cnf,输入下面的内容,Linux下的内容略有不同,记得修改安装路径数据存放目录!!!

[mysqld]
# 设置端口
port=3306
# 设置不区分大小写
lower_case_table_names=1
innodb_file_per_table=ON
sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION'
innodb_strict_mode=OFF
max_allowed_packet=1024M
# 定时清理数据库日志
log-bin=mysql-bin
binlog_expire_logs_seconds=864000
# 设置远程登录
bind-address=0.0.0.0
#设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录 
datadir=/usr/local/mysql/data
socket =/usr/local/mysql/tmp/mysql.sock
# 允许最大连接数
max_connections=1000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
socket =/usr/local/mysql/tmp/mysql.sock
default-character-set=utf8mb4

修改目录权限,和用户组

chmod -R 750 /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql

初始化数据库,进入到MySQL的bin目录下,执行初始化命令:

cd /usr/local/mysql/bin

./mysqld --initialize --console --user=mysql

MySQL8安装教程

和Windows一样,保存好随机密码!!!

启动MySQL:

cd /usr/local/mysql/support-files

./mysql.server start

MySQL8安装教程

配置环境变量:vim /etc/profile

i 进行编辑,在最后添加以下变量:

#MYSQL_HOME
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin

按 esc 退出编辑,再按 shift + : 显示,再按 wq 保存并退出

重新加载/etc/profile文件:

source /etc/profile

登录MySQL,输入命令:

mysql -uroot -pjQCl-rywF6o9   ## 注意这里的密码为你的随机密码

##登录参数详解:-hIP地址  -u登录名 -p登录密码 -P端口号

之后就和Windows的配置过程一样,按照之前的操作在来一遍就行了,配置root用户,更改密码配置远程访问,还有授权超级管理员!

防火墙放行数据库端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

配置完成后,拿连接工具测试一下!!!

配置MySQL自启动:

[root@localhost support-files]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@localhost support-files]# chmod +x /etc/init.d/mysql
[root@localhost support-files]# systemctl enable mysql
mysql.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysql on

注意事项

1、检查好操作系统依赖环境

2、检查好配置文件

3、检查好目录权限和用户组,不然数据库会启动不了

4、权限都配置好了,还是启动不了,查看端口是否被占用命令:netstat -tunlp |grep 3306 或者使用该命令查看:lsof -i:3306


完结撒花❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀

正文完
 
评论(没有评论)