MySQL8.0.0.28数据库安装配置

1. 安装前的准备工作

1.1 确认目前服务器上是否存在MySQL

命令:rpm -qa | grep mysql

说明:若返回空信息,就说明当前环境没有安装MySQL;直接跳到第4步操作后续。

1.2 检查当前环境是否有自带的mariadb数据库

命令:rpm -qa | grep mariadb

说明:若返回空信息,就说明当前环境没有安装mariadb;跳到下面的步骤安装。

若存在mariadb则删除

命令:rpm -e --nodeps 安装包

2. 通过压缩包的方式安装

2.1 下载MySQL安装包

在联网的地方访问mysql下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

参数选择如下:

  • Product Version: 8.0.28

  • Operating System: Linux - Generic

  • OS Version: Linux - Generic (glibc 2.12) (x86, 64-bit)

在这里插入图片描述

大家可以在Linux中使用 uname -a的命令查看目前Linux系统的架构和系统信息。根据这个来选择MySQL下载包。

2.2 上传到目标服务器(xftp)
2.3 在服务器解压下载的安装包
tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
2.4 修改解压后的名称

迁移目录并重命名

mv mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql
2.5 创建存放数据的目录
mkdir -p /data/mysql
2.6 创建用户用户组,并将创建的用户添加到用户组中
# 创建用户组

groupadd mysql 

# 创建用户mysql(mysql)并将用户添加到用户组(mysql)中

useradd -g mysql mysql 
2.7 给mysql用户赋予权限
chown -R mysql:mysql /usr/local/mysql
mysql:mysql /data/mysql
2.8 修改mysql配置文件(若没有则新建)
vim /etc/my.cnf

新增如下(可以根据自身情况进行配置):

[mysqld]

bind-address=0.0.0.0

port=3306

user=mysql

basedir=/usr/local/mysql

datadir=/data/mysql

socket=/tmp/mysql.sock

log-error=/data/mysql/mysql.err

pid-file=/data/mysql/mysql.pid

#character config

character_set_server=utf8mb4

symbolic-links=0

explicit_defaults_for_timestamp=true
2.9 安装并初始化mysql

(1)进入mysql安装目录的bin目录

cd /usr/local/mysql/bin

(2)执行如下命令
这个命令是:指定了默认文件,MySQL的安装目录,数据存放位置,用户是mysql

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
2.10 查看mysql默认密码
cat /data/mysql/mysql.err
2.11 先将mysql.server放置到/etc/init.d/mysql中

/etc/init.d 目录通常用于存放启动脚本,这些脚本用于管理系统服务的启动、停止和重启。

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

2.12 启动mysql
service mysql start
2.13 查看MySQL的进程
ps -ef|grep mysql

3. 修改root账号密码

3.1 切换到mysql的安装目录的bin下
cd /usr/local/mysql/bin
3.2 登录mysql
#  输入密码登录
./mysql -u root -p

ps:如果输入上面的看到的密码不能登录或者不想输入密码登录 我们可以在my.cnf中设置跳过密码验证直接登录,在my.cnf添加skip-grant-tables,然后重启mysql,service mysql restart。重启之后输入登录mysql的命令之后,提示输入密码的时候直接回车即可。

3.3 登录成功,使用sql命令修改root账号密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 刷新权限
flush privileges;

退出mysql;exit

3.4 验证密码是否修改成功

如果你之前采用了 skip-grant-tables方式,记得一定得将这个在my.cnf中注释。然后重启mysql即可。

(1)注释skip-grant-tables

(2)重启mysql
service mysql restart
(3)登录MySQL
./mysql -u root -p

登录成功,说明密码修改成功。

4. 开启mysql允许远程访问

  1. 登录MySQL
    Ps:在MySQL的安装目录下bin目录使用如下命令

​ ./mysql -u root -p

  1. 查看所有数据库
    show databases;

  2. 切换到mysql数据库
    use mysql;

  3. 使用命令开启任何主机都能远程访问MySQL
    update user set host=‘%’ where user=‘root’;

  4. flush privileges;刷新权限

​ 退出mysql;exit

5. 检查安装路径和安装环境是否正常

mysqldump 是 MySQL 提供的一个命令行工具,用于备份和导出 MySQL 数据库。

6. 添加MySQL环境变量

添加环境变量后,便可以在任何目录使用mysql命令

若没有则需要手动添加到环境变量中。

打开profile文件

vi /etc/profile

在最后添加一行

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

重新加载配置文件

source /etc/profile

7. 到此MySQL的安装和基本配置就完成了。

8. 安装配置中异常解决

8.1 今天为创建的root 用户授予相关权限提示如下错误:

mysql> grant all privileges on test.* to root@‘%’ identified ‘123456’;
提示如下错误:ERROR 1064(4200): you have an error in you SQL syntax; **near ‘identified ‘123456’’ at line 1
查询MySQL8 相关授权资料的得知,分配权限不能带密码。

修改后的指令如下:

mysql > grant all privileges on test.* to root@‘%’
提示的错误信息如下:You are not allowed to create a user with GRANT;
产生用户不能授权的原因是mysql 数据库中user 表中的特定用户(root) 的host 的属性值为localhost.

解决办法如下:

登录MySQL

  1. 使用mysql 数据库

​ mysql > use mysql;

  1. 特定用户的host 修改

​ mysql > update user set host=‘%’ where user=‘root’;

  1. 指定用户的授权

​ mysql > grant all privileges on test.* to root@‘%’

在”MyBttis的下载和使用“结尾中有提到如果底层使用的是MySql数据库,那么我们还需要将MySql数据库的驱动.jar包添加到应用程序的类路径中。

9. MySQL8.0 connector JAR包的下载位置

下载地址:MySQL :: Download Connector/J
https://dev.mysql.com/downloads/connector/j/

需在页面中Select Operating System选项中找到Platform Independent点击,会跳转到下载页面;

选择mysql-connector-java-8.0.26.zip下载即可。

注:时间的不同,页面显示的版本可能有所不同
MySQL Product Archives
MySQL Connector/J (Archived Versions)
Please note that these are old versions. New releases will have recent bug fixes and features!
To download the latest release of MySQL Connector/J, please visit MySQL Downloads.

Product Version: 8.0.28

Operating System: Platform Independent

在软件开发的上下文中,General Availability (GA) Releases 通常指的是软件的稳定发行版,也称为正式版或最终版(Final)1。这个版本的软件已经完成了所有的开发工作,经过了充分的测试,并修复了大部分已知的错误(BUG)。GA版本的软件被认为是适合广泛用户使用的,因为它提供了稳定的功能和性能。

相比之下,Archives Product Information 通常指的是存档的产品信息。这可能包括旧版本的软件、文档、更新日志等,这些信息被保留下来供用户参考或下载。Archives Product Information 对于那些需要访问旧版本软件或文档的用户来说非常有用,特别是当新版本软件不再兼容他们的系统或工作流程时。
“Operating System: Platform Independent” 指的是某个软件或应用程序能够在多种不同的操作系统上运行,而不需要针对每个特定的操作系统进行单独的编译或配置。这种软件通常被设计为跨平台(Cross-platform)或可移植(Portable)的,以便它可以在Windows、macOS、Linux等多种操作系统上无缝运行。

下载并解压mysql-connector-java-8.0.28.zip压缩包,会得到一个名为mysql-connector-java-8.0.28的文件夹。

文件夹下包含的文件(底层使用的是MySql数据库,我们需要引入Mysql数据库驱动的核心包):

  1. Mysql 8.0 的JDBC配置
    com.mysql.cj.jdbc.Driver 和com.mysql.jdbc.Driver 这两者到底有什么区别呢?

本质区别:驱动类不同

com.mysql.jdbc.Driver 是 mysql-connector-java 5版本中的
com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6版本及以上中的

以创建MyBatis的核心配置文件为例

<?xml version="1.0" encoding="UTF-8" ?>

1.在使用com.mysql.jdbc.Driver时,配置是需要下面这样的:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
jdbc.username=root
jdbc.password=root

2.MyBatis在使用com.mysql.cj.jdbc.Driver时,配置是需要下面这样的:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
jdbc.username=root
jdbc.password=toot

变化主要在两点, 分别是 , 以及获得连接的URL配置;

注意:

需要指定时区(serverTimezone=UTC)

“jdbc:mysql://localhost:3306/db3?serverTimezone=UTC” 这句话必须设置, 但是设置UTC时间(世界统一时间), 会比北京时间早8个小时, 也就是说,北京2021年9月10日18点的时候,UTC时间为2020年3月20日10点。

如果在中国,serverTimezone=可以选择设置为Asia/Shanghai或者Asia/Hongkong。

以上配置会使得Maven在下载依赖时,优先从阿里云的镜像地址进行下载,从而提高下载速度和效率。

--------------------------------欢迎关注--------------------------------

在这里插入图片描述

--------------------------------欢迎关注--------------------------------

​ 在下为编程界一名小学生,在此记录编程路上一些所得,分享点滴技术,探讨人生百态。文章若有不足之处,欢迎批评指正。文章若予您有些许帮助,实属荣幸,望关注,点赞,转发让更多的伙伴看到它。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐