1、查看 linux下是否有老版本的mysql(有删除)
查找old mysql:rpm -qa | grep mysql
卸载:卸载命令:rpm –ev {包名}——:rpm -ev mysql-community-common-5.7.23-1.el7.x86_64
查找老版本mysql相关的安装目录命令:find / -name mysql
若查找到相关目录使用命令:rm –rf {目录名}:删除目录

2、查看 linux 下是否安装 mariadb 数据库(有的话需要删除,因为有冲突)
检查是否安装了 mariadb: rpm -qa | grep mariadb
删除mariadb:rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

3、创建mysql存放目录(/root/software)
创建文件夹:mkdir /root/software
解压到当前文件夹,并把解压后文件移动到指定文件夹并修文件夹名称:
解压:tar -xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
移动并修改名字:mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

4、创建主目录(data:存储目录 ------可省略)
创建主目录:mkdir /usr/local/mysql/data

5、主目录权限处理(查看是否有就得用户,有删除并新建用户)
查看组和用户情况:cat /etc/group | grep mysql
查看组和用户情况:cat /etc/passwd |grep mysql
若存在,则删除原mysql用户:userdel -r mysql,会删除其对应的组和用户并在次查看。
创建mysql组:groupadd mysql
创建mysql用户:useradd -r -g mysql mysql
修改目录拥有者:chown -R mysql:mysql /usr/local/mysql

6、创建配置文件及相关目录(如果在这个路径下已经存在的话就不用创建了)
创建配置文件:vi /etc/my.cnf

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
socket=/tmp/mysql.sock
pid-file=/tmp/mysqld/mysqld.pid
character-set-server = utf8
log-error=/var/log/mysqld.log

#修改配置文件内容:注意要在模板的 [mysqld] 下面去修改(basedir:mysql安装路径,datadir:数据存储目录)

保存退出:wq!

创建文件/tmp/mysql.sock:设置用户组及用户,授权
touch /tmp/mysql.sock
chown mysql:mysql /tmp/mysql.sock
chmod 755 /tmp/mysql.sock

创建文件/tmp/mysqld/mysqld.pid

mkdir /tmp/mysqld
chown -R mysql:mysql /tmp/mysqld

touch /tmp/mysqld/mysqld.pid
chmod 755 /tmp/mysqld/mysqld.pid

创建文件/var/log/mysqld.log:

touch /var/log/mysqld.log
chown -R mysql:mysql /var/log
chmod 755 /var/log/mysqld.log

7:安装和初始化数据库

进入初始化目录:cd /usr/local/mysql/bin/

初始化数据库:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

如果报错:(./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory)

需要安装命令:yum -y install numactl

之后在执行初始化数据库:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

如果报错:[ERROR] --initialize specified but the data directory has files in it. Aborting. 清空data目录再试)

8:安全启动:

./mysqld_safe --user=mysql &

之后回车进入到bin目录

查看是否成功:ps -ef | grep mysql

默认密码在mysqld.log日志里, 找到后保存到安全的地方:cat /var/log/mysqld.log|grep password

其中root@localhost: 后面的就是默认密码

进入bin目录:

cd /usr/local/mysql/bin/

登录mysql:

./mysql -u root -p

但是,若输入相关命令,则会提示你修改用户密码(注意后面一定要加;)。

show databases;

密码修改为 aaa

mysql> set password=password("root");

9:设置远程登录权限(在mysql里面设置)

mysql>grant all privileges on *.* to 'root'@'%' identified by 'root';

刷新登录权限:

mysql> flush privileges;

退出quit 或者 exit

mysql> quit;

10:开机服务启动设置:

把support-files/mysql.server 拷贝为/etc/init.d/mysql:

命令:cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

查看是否成功:(名字为mysql)

cd /etc/init.d/

ll

查看mysql服务是否在服务配置中

chkconfig --list mysql

若没有,则把mysql注册为开机启动的服务,然后在进行查看

chkconfig --add mysql

chkconfig --list mysql

启动 或 停止

service mysql start

service mysql stop

11:创建快捷方式:
服务启动后,直接运行mysql -u root -p即可登录,不需要进入到对应的目录。

ln -s /usr/local/mysql/bin/mysql /usr/bin

12:使用Navicat 连接数据库时会出现(2003)
说明你的防火墙没有关。

解决方案:

//临时关闭 systemctl stop firewalld

//禁止开机启动

systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

怎么在虚拟机下的Linux系统安装数据库的更多相关文章

  1. Oracle数据库学习(一):虚拟机下Oracle Linux的安装与配置

    这篇博文主要以图片的形式讲述Oracle Linux在虚拟机下的安装与配置 一.前期虚拟机安装ISO文件的配置 1.创建新的虚拟机 2.选择“自定义(高级)”选项,下一步,默认“虚拟机硬件兼容性”或选 ...

  2. 把虚拟机中的Linux系统安装到U盘中

    [小技巧] 把虚拟机中的Linux系统安装到U盘中 出于各种需求,很多用户可能经常会在Windows系统中安装虚拟机,然后在虚拟机中安装Linux系统.使用虚拟机的优点是可以同时使用多个系统,而缺点也 ...

  3. VMware15.5虚拟机安装及LInux系统安装前 准备工作

    VMware15.5虚拟机安装及Linux系统安装前 准备工作 一.vmware15.5安装 1.安装环境准备 1.vmware15.5版本和秘钥(版本资源和密钥小白已经上传到资源文档里面,要想下载可 ...

  4. [小技巧] 把虚拟机中的Linux系统安装到U盘中

    出于各种需求,很多用户可能经常会在Windows系统中安装虚拟机,然后在虚拟机中安装Linux系统.使用虚拟机的优点是可以同时使用多个系统,而缺点也是显然的,也就是程序运行效率较差.   而实际上,L ...

  5. 虚拟机下运行linux通过nat模式与主机通信、与外网连接

    首先:打开虚拟机的编辑菜单下的虚拟网络编辑器,选中VMnet8 NAT模式.通过NAT设置获取网关IP,通过DHCP获取可配置的IP区间.同时,将虚拟机的虚拟机菜单的设置选项中的网络适配器改为NAT模 ...

  6. windows下用VMware虚拟机下安装Linux CentOS6.9图文教程

    首先,请在Windows7下安装VMware虚拟机,这个比较简单,直接从官网下载安装即可,这里不再叙述. 接着,从官网直接下载CentOS6.9的iso镜像文件,地址:https://www.cent ...

  7. VM虚拟机下在LINUX上安装ORACLE 11G单实例数据库

    1.环境及安装前规划:虚拟机及OS如下 环境:VMware Wordstation ACE版 6.0.2 操作系统:OracleLinux-R5-U8-Server-i386-dvd    3.2G ...

  8. windows主机与virtualbox虚拟机下的Linux共享网络

    环境: 主机:windows7 虚拟机:virtualbox 4.2 虚拟系统:CentOS6.2 需求: 1.虚拟机linux可以共享主机网络上互联网 2.主机.虚拟机互通讯,组成一个虚拟的局域网, ...

  9. VMware虚拟机下实现Linux与window文件夹共享

    这里说的是在VMware虚拟机下来实现在windows与Linux下共享一个文件夹. 下面来说明一下是如何实现的: 1.安装VMware.Workstation. 2.安装Fedora10. 3.完成 ...

随机推荐

  1. js支持装饰器

    vscode中使用装饰器不报错 { "compilerOptions": { "experimentalDecorators": true } } yarn a ...

  2. windows端口转发工具(LCX)

    端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法.端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过 ...

  3. django 使用HttpResponse返回json数据为中文

    之前我用django一般用JsonResponse来返回json数据格式 但是发现返回中文的时候会乱码 from django.http import JsonResponse def test(re ...

  4. 通过requirements.txt文件创建虚拟环境副本

    1.首先在原来的环境中生成一个需求文件requirements.txt,用于记录所有依赖包及其精确的版本号. (venv) $ pip freeze >requirements.txt 2.创建 ...

  5. EasyUIDataGrid列标题换行显示

    有时候表格标题字数太多,而宽度有限,就会导致一部分列的标题显示不出来 这时候,加入如下css代码即可将标题换行显示 .datagrid-header-row .datagrid-cell span { ...

  6. 从零到一手写基于Redis的分布式锁框架

    1.分布式锁缘由 学习编程初期,我们做的诸如教务系统.成绩管理系统大多是单机架构,单机架构在处理并发的问题上一般是依赖于JDK内置的并发编程类库,如synchronize关键字.Lock类等.随着业务 ...

  7. Retrofit的优点

    Retrofit的优点 可以配置不同HTTP client来实现网络请求,如okhttp.httpclient等 将接口的定义与使用分离开来,实现结构. 支持多种返回数据解析的Converter可以快 ...

  8. B+树的算法(java实现)

    定义 一颗m阶B+树满足以下几个条件: 1.除根节点外的节点的关键字个数最大为m-1,最小为m/2 2.除叶节点外的每个节点的孩子节点的数目为该节点关键字个数加一,这些孩子节点的的关键字的范围与父节点 ...

  9. ES6的export与Nodejs的module.exports比较

    首先我们要明白一个前提,CommonJS模块规范和ES6模块规范完全是两种不同的概念. CommonJS模块规范 Node应用由模块组成,采用CommonJS模块规范. 根据这个规范,每个文件就是一个 ...

  10. 【推荐】全球最全面的Telegram组群频道的集合网站 持续收集中

    全球最全面的Telegram组群频道的集合网站 https://www.telegramgroup.org Telegram 组群频道分享 可搜索自己想找的组群频道 从小白到大神,一个 telegra ...