Linux安装MySQL8.0.16

2023-05-16

1.下载安装包

https://www.mysql.com/
在这里插入图片描述

在这里插入图片描述

2.安装MySQL

将下载好的安装包上传到服务器, 然后解压
tar -xvf mysql-8.0.16-el7-x86_64.tar.gz
然后将解压目录重命名为mysql-8.0.16
mv mysql-8.0.16-el7-x86_64 mysql-8.0.16
在mysql下创建data 和logs 目录

       创建mysql用户组和mysql用户

        groupadd mysql

  groupadd mysql

  groupadd mysql /etc/mysql-8.0.16

更改mysql安装文件夹mysql-8.0.16/的权限

       chmod -R 755  /etc/mysql-8.0.16

      创建vi  my.cnf

[client]
socket=/aifs01/tools/mysql-8.0.16/data/mysql.sock
port = 3306
[mysqld]
basedir=/aifs01/tools/mysql-8.0.16/
datadir=/aifs01/tools/mysql-8.0.16/data
socket=/aifs01/tools/mysql-8.0.16/data/mysql.sock
port = 3306
innodb_buffer_pool_size = 3G
max_connections = 1000
wait_timeout = 600
interactive_timeout = 600
log_bin=/aifs01/tools/mysql-8.0.16/logs
pid-file=/aifs01/tools/mysql-8.0.16/data/mysql.pid
server-id=16
binlog_format=mixed
character_set_server=utf8
skip-name-resolve
autocommit = 1
sort_buffer_size = 32M
join_buffer_size = 128M
tmp_table_size = 72M
max_allowed_packet = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 32M
lower_case_table_names = 1
#skip_networking
table_open_cache = 400
thread_cache_size=768
key_buffer_size=32M
read_buffer_size=8M
read_rnd_buffer_size=4M
back_log=1024
#flush_time=0
open_files_limit=65535
table_definition_cache=1400
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_throttle_queries_not_using_indexes = 10
expire_logs_days = 90
min_examined_row_limit = 100
innodb_log_file_size = 200M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
secure_file_priv=’’
[mysqld_safe]
log-error=/aifs01/tools/mysql-8.0.16/logs/mysql-error.log

   进入数据安装目录下初始化

./bin/mysqld --initialize --user=root --basedir=/etc/mysql-8.0.16 --datadir=/etc/mysql-8.0.16/data

(–user=root 这个用户看个人情况,最好是在普通用户下创建数据库,如果使用root前面就没必要新建用户了)

执行的时候报错:
在这里插入图片描述

解决方法:

yum install -y libaio  //安装后在初始化就OK了

在这里插入图片描述

安装完后又报错

在这里插入图片描述
yum -y install numactl

 执行的时候报错	

  ./bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./mysqld)   

  这个是动态库版本低,查看系统glibc支持的版本:

  strings /lib64/libc.so.6 |grep GLIBC_

GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

 rpm -qa |grep glibc
 
 glibc-static-2.12-1.80.el6_3.6.x86_64

glibc-headers-2.12-1.80.el6_3.6.x86_64
glibc-common-2.12-1.80.el6_3.6.x86_64
glibc-devel-2.12-1.80.el6_3.6.x86_64
glibc-static-2.12-1.80.el6_3.6.i686
glibc-devel-2.12-1.80.el6_3.6.i686
glibc-2.12-1.80.el6_3.6.i686
glibc-2.12-1.80.el6_3.6.x86_64

具体解决方法查看https://blog.csdn.net/a1035082174/article/details/100552784

 然后重新执行初始化发现又报错

在这里插入图片描述

 ll /usr/lib64/libstdc++.so.6

在这里插入图片描述

 cp /home/libstdc++.so.6.0.19 /usr/lib64/

 rm -rf /usr/lib64/libstdc++.so.6

 ln -s /usr/lib64/libstdc++.so.6.0.19 /usr/lib64/libstdc++.so.6

 strings /usr/lib/libstdc++.so.6 | grep GLIBCXX

在这里插入图片描述

出现这个不影响 可以直接去安装数据库了  (hodfb%nwI99b为root的初始密码)

./mysqld --initialize --user=root --basedir=/etc/mysql-8.0.16 --datadir=/etc/mysql-8.0.16/data

在这里插入图片描述

添加系统路径

 vim /etc/profile

export PATH=/etc/mysql-8.0.16/bin:$PATH

在这里插入图片描述

 source /etc/profile

开机自启

 cd  /etc/mysql-8.0.16/support-files

 cp mysql.server /etc/init.d/mysqld    

 chkconfig --add mysqld

修改启动脚本

 vi  /etc/init.d/mysqld

修改里面的datadir=   basedir=  为你mysql的实际的部署目录具体查看你的mysql的配置文件

在这里插入图片描述

查看初始密码

 初始化成功执行后关注最后一点:root@localhost: 这里就是初始密码

在这里插入图片描述

 启动数据库

 service mysqld start

在这里插入图片描述

出现这个错误查看日志

在这里插入图片描述

 这个是设置表名不区分大小写的,但是如果注掉以后在要设置的时候MySQL8.0是无法重新设置的。此时建议把datadir配置目录下的内容全部删除,重新初始化

在这里插入图片描述

 进入命令行

  mysql -uroot –p

输入你查看的初始密码进入

在这里插入图片描述

出现这个以后在配置文件my.cnf中添加default_authentication_plugin = mysql_native_password 

然后删除datadir配置目录下的内容,重新初始化数据库‘

在这里插入图片描述

 ./mysqld --initialize --user=mysql --basedir=/etc/mysql-8.0.16 --datadir=/etc/mysql-8.0.16/data 

在这里插入图片描述

在这里插入图片描述

终于可以正常登录了,进来以后先修改root的密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root@2019’;

  create database tacs_user default character set utf8; 创建数据库

  CREATE USER 'user'@'%' IDENTIFIED BY 'user123'; 创建用户

  使用navicat登录MySQL发现报错

在这里插入图片描述

没有开启远程连接,先创建远程连接

      use mysql;

      select host,user,authentication_string, plugin from user;

修改加密方式

update user set plugin=‘mysql_native_password’ where user=‘root’;

      修改连接权限

update user set host=’%’ ,authentication_string="" where user=‘root’; 此处密码置为空

重启数据库

service mysqld restart

在这里插入图片描述

修改密码

ALTER USER ‘root’@’%’ IDENTIFIED BY ‘root@2019’;

授权远程连接

grant all on *.* to 'root'@'%'with grant option;

刷新权限

flush privileges;

撤销权限

revoke all privileges on . from ‘monitor’@’%’;

flush privileges;

在这里插入图片描述

升级glibc库后,使用xshell登录linux,提示:

在这里插入图片描述

执行locale命令,提示如下异常,说明说明没安装en_US的local
在这里插入图片描述

解决方案,修改如下:

     vi /etc/sysconfig/i18n

      # 添加下面的
      LC_ALL=C
      export LC_ALL

在这里插入图片描述

     再执行下面的语句,使之生效

      source /etc/sysconfig/i18n

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux安装MySQL8.0.16 的相关文章

  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • Apache 端口转发 80 到 8080 并访问 Apache (80) 中托管的应用程序,即 phpMyadmin 和 Tomcat (8080)

    我想访问托管在 tomcat 服务器 8080 中的应用程序 myapp 当前可以通过以下方式访问http example com 8080 myapp http example com 8080 myapp in http example
  • 如何在Linux上用C/C++编写Web服务器[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在考虑在 Linux 平台上开发一个小型 阅读 初级 Web 服务器 但我不知道从哪里开始 我希望它能够做的是 监听特定端口 接受
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • 对于任何真实数据集,数据压缩比的最小可能值是多少

    我在写信ZLIB类似于嵌入式硬件压缩器的 API 它使用 deflate 算法来压缩给定的输入流 在进一步讨论之前 我想解释一下数据压缩率 数据压缩率定义为未压缩大小与压缩大小之间的比率 压缩比通常大于一 这意味着压缩数据通常比未压缩数据小
  • 如何获取与 shell 中的文件名模式匹配的所有文件的总文件大小?

    我正在尝试仅使用 shell 来计算与文件名模式匹配的所有文件 在目录树中 的总大小 以字节为单位 这是我到目前为止所拥有的 find name undo exec stat c s awk 总计 1 END 打印总计 有没有更简单的方法来
  • 使用 systemctl 获取 systemd 进程的正常运行时间或停机时间?

    喜欢使用systemctl is active
  • 更新Linux中的包含路径

    我的 my path to file 文件夹中有几个头文件 我知道如何将这些文件包含在新的 C 程序中 但每次我都需要在包含它之前输入头文件的完整路径 我可以在linux中设置一些路径变量 以便它自动查找头文件吗 您可以创建一个 makef
  • 如何在 Linux 和 C 中使用文件作为互斥体?

    我有不同的进程同时访问 Linux 中的命名管道 并且我想让此访问互斥 我知道可以使用放置在共享内存区域中的互斥体来实现这一点 但作为一种家庭作业 我有一些限制 于是 我想到的是对文件使用锁定原语来实现互斥 我做了一些尝试 但无法使其发挥作
  • 在 x86 汇编语言中获取文件大小的简单方法

    假设我已经在汇编中打开了一个文件 并且在寄存器 eax 中有该文件的文件句柄 我将如何获取文件的大小 以便为其分配足够的缓冲区空间 我在这里研究了另一个讨论 建议使用sys fstat 28 系统调用来获取文件统计信息但无法实现它 My a
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • 批量删除文件名中包含 BASH 中特殊字符的子字符串

    我的目录中有一个文件列表 opencv calib3d so2410 so opencv contrib so2410 so opencv core so2410 so opencv features2d so2410 so opencv
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的

随机推荐