首页 > 数据库 >Linux系统安装Mysql

Linux系统安装Mysql

时间:2022-12-06 16:11:24浏览次数:47  
标签:8.0 20 log local Mysql Linux usr mysql 安装

环境和版本 

Linux:CentOS 8

Mysql:8.0.20

一、在linux系统的/usr/local目录下创建mysql文件夹

切换目录:cd /usr/local

创建文件夹:mkdir mysql

二、下载安装包

1、切换目录到mysql文件夹:cd mysql

2、下载安装包:wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

 

二、解压安装包并重命名文件夹

1、解压文件:tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

2、重命名文件:mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0.20

三、切换到mysql-8.0.20目录并创建data文件夹

1、切换目录:cd mysql-8.0.20

2、创建data文件夹:mkdir data

四、创建用户组/添加用户/授权用户组

1、创建用户组:groupadd mysql

2、添加用户组:useradd -g mysql mysql

3、授权用户组:chown -R mysql.mysql /usr/local/mysql/mysql-8.0.20

五、切换到bin目录下并初始化基础信息

 1、切换到mysql-bin目录

2、初始化基本信息:./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0.20 --datadir=/usr/local/mysql/mysql-8.0.20/data/ --initialize

此次初始化时由于安装的时候依赖包不完全,会提示依赖包不存在,如下图

解决libaio.so.1包不存在方案:yum install bibaio-devel.x86_64

安装完成后切换到bin目录再次初始化即可成功,并且返回初始密码,需要把密码拷贝记录,用于后面登录数据库.

六、编辑my.cnf文件

1、使用vim编辑器,编辑配置文件:vim /etc/my.cnf

修改内容:

basedir=/usr/local/mysql/mysql-8.0.20/
datadir=/usr/local/mysql/mysql-8.0.20/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0

注:

1、basedir和datadir需要根据mysql安装位置自行修改路径;

2、按i进入insert编辑模式;按ctrl+c或esc 再敲:wq即退出并保存,只想退出不保存敲:q;

3、[mysqld]不能缺失且不能写成[mysql] ;

七、添加mysqld服务到系统(在mysql-8.0.20文件下执行)/授权以及添加服务

添加mysqld服务到系统时会提示找不到启动文件

解决方案:先去查找启动文件:ls /etc/rc.d/init.d在执行,并且安装maridb(若没有)依赖包。

安装完成maridb依赖包后,启动时可能会提示报错mysqld_safe error: log-error set to ‘/var/log/mariadb/mariadb.log‘错误,原因是因为没有路径也没有权限,所以创建此路径并授权给mysql用户。

解决方案:

执行命令:

1、mkdir /var/log/mariadb

2、touch /var/log/mariadb/mariadb.log

3、chown -R mysql:mysql /var/log/mariadb/

4、最后执行启动文件命令:sudo /etc/rc.d/init.d/mysql start

再次启动时,提示mysqld_safe directory '/var/lib/mysql' for unix socket file don't exists

解决方案:创建对应的文件夹

八、将mysql命令添加到服务

命令:ln -s /usr/local/mysql/mysql-8.0.20/bin/mysql /usr/bin

 

九、登录Mysql

执行登录命令:mysql -uroot -p

可能会出现:Can ‘t connect to local MySQL server through socket ‘/tmp/mysql.sock ‘(2) “,原因可能是找不到mysql.sock文件

解决方案:

1、找到mysql.sock所在的目录:find / -name mysql.sock

2、建立mysql.sock软连接到文件上

3、重新登录成功

十、修改初始密码(自定义)

初始化密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

立即生效:flush privileges;

 

十一、修改远程连接生效

1、查看所有数据库:show databases;

2、选择数据库:use mysql;

3、更新远程连接生效:update user set host='%' where user='root';

4、使设置立即生效:flush privileges;

十二、Navicat 远程连接测试

        参考地址:https://blog.csdn.net/qq_44146008/article/details/125033197,虽然有参考文章,由于第一次安装mysql,在安装过程中并没有那么一帆风顺,出现了依赖包不存在、文件找不到、软连接各种问题,再此记录下来希望可以帮到需要的同学。

标签:8.0,20,log,local,Mysql,Linux,usr,mysql,安装
From: https://www.cnblogs.com/chj929555796/p/16955282.html

相关文章

  • linux 给文件替换字符串/替换内容/替换某行 (shell,sed)
    本文是要讲linux不打开文档/文件的情况下,替换文本内容。打开文档,在文档/文件内替换内容的,可以用vim,可参考这篇文章vim替换文本。话题相关#linux文件替换字符串#sed字......
  • 3.MySql的数据管理(DML语言)
    1.外键(了解即可)方式一:在创建表的时候,增加约束,较复杂--创建年级表CREATETABLEIFNOTEXISTS`grade`( `grade_id`INT(10) NOTNULLAUTO_INCREMENTCOMMENT'学号'......
  • MySQL5.7二进制部署❄️⛄☃️
    MySQL5.7二进制部署❄️⛄☃️准备工作:卸载系统中的mariadbrpm-qa|grepmariadbyumremovemariadb1.下载二进制安装包wgethttps://downloads.mysql.com/archives......
  • 在Java中调用系统 Windows Shell或者Linux Shell命令行的使用
    Jdk8中的Runtime类以及Process类结合起来可用于调用系统的命令行,具体使用参考JDK8手册Jdk17版本中这两个类的使用有一定的改变,用起来会更加方便,有需要可以参考JDK17手册......
  • Linux常用(实用)命令大全
    pwd显示工作路径shutdown-hnow关闭系统/halt关闭系统shutdown-rnow重启/reboot重启systemctlstopfirewalld关闭防火墙ipaddr查看ip地址1、c......
  • 项目中如何安装同一依赖的两个版本
    背景如项目中有一个1.0版本的antd库,我们不得已必须使用更高版本的antd方案我们可以使用npm的别名,安装不同版本的库如://安装npminstallantd-v3@npm:antd@3.26.19-......
  • PostgreSQL和MySQL的优劣对比
    在开发项目的过程中,难免要面对选择数据库的情况。总结此文章是因为在之前公司里使用的都是MYSQL数据库,而在现在公司里,新项目中使用的是PostgreSQL数据库,在使用过程中,经......
  • PostgreSql和MySql数据类型之间的比较以及推荐
    文章介绍了postgresql和MySql之间数据类型的比较,以及推荐使用。因为存在数据库表迁移等场景,会更需要此类情况的对比1.数值类型的比较整数:mysql中的整数类型和pg......
  • Windows 上安装 Linux
    使用WSL在Windows上安装Linuxwsl--install其中,也讲到Linux卸载;如果wsl安装Linux失败,可以参考如下利用MicrosoftStore安装Linux发行版我是遇到,win11安装的......
  • mysql字符串分割
    mysql字符串分割 1、字符串分割函数dropfunctionifexistsstr_for_substr;CREATEDEFINER=`root`@`%`FUNCTION`str_for_substr`(`num`int,`str`varcha......