您现在的位置是:首页 > 正文

【实验】Linux系统编译安装mysql数据库

2024-01-30 22:51:00阅读 0

编译安装mysql数据库

首先上传mysql的程序包,我们这里使用的是mysql的5.6.36版本,链接:https://pan.baidu.com/s/1dEwaJqk3BMRYB-ejat_kYQ
提取码:lqwh


1.安装依赖包
yum -y install gcc gcc-c++ make ncurses ncurses-devel bison cmake libaio-devel

2.创建mysql程序用户
useradd -s -M /sbin/nologin mysql

3.创建mysql的安装路径
mkdir -p /usr/local/mysql

4.解压mysql安装包,配置软件模块
cd /opt
tar zxvf mysql-5.6.36.tar.gz

5.配置安装选项
cd mysql-5.6.36/
cmake  \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \        #指定mysql的安装路径
 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件(数据库连接文件)的存储路径
 -DDEFAULT_CHARSET=utf8 \                    #指定默认使用的字符集编码,如 utf8
 -DDEFAULT_COLLATION=utf8_general_ci \       #指定默认使用的字符集校对规则
 -DWITH_EXTRA_CHARSETS=all \                 #扩展性的字符集,支持其他字符集编码
 -DWITH_MYISAM_STORAGE_ENGINE=1 \            #开启各种功能的存储引擎机
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \          #安装INNOBASE存储引擎
 -DWITH_MEMORY_STORAGE_ENGINE=1 \            #安装MEMORY存储引擎
 -DWITH_READLINE=1 \                          #支持readline程序平台,读取数据按行读取,一行是一个对象
 -DENABLED_LOCAL_INFILE=1 \                   #本地写入文件,方便导入导出
 -DMYSQL_DATADIR=/home/mysql \                #指定数据库的家目录,数据库文件的存储路径
 -DMYSQL_USER=mysql \                         #指定管理用户
 -DMYSQL_TCP_PORT=3306                        #指定端口号 

6.编译安装
make - j 2 && make install
#如出现报错,需要将mysql-5.6.36文件夹中的CMakeCache文件删除,然后重新编译即可,如果不确定文件位置,可以使用find / -name CMakeCache.txt -type f 进行文件查找。

7.设置系统配置
cp support-files/my-default.cnf /etc/my.cnf  #将mysql的默认配置文件复制到/etc目录,改名为my.cnf
cp support-files/mysql.server /etc/init.d/mysqld   #添加mysqld系统服务,将mysql添加进系统服务管理中
chmod 755 /etc/init.d/mysqld   #赋予mysqld文件755权限
chkconfig --add /etc/init.d/mysqld   #将mysqld加入系统管理
chkconfig --level 35 mysqld on   #设置mysqld在init3和init5级别开启
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile   #将/usr/local/mysql/bin目录加入PATH
source /etc/profile   #刷新profile文件,重载系统环境变量PATH
echo $PATH   #查看PATH
chown -R mysql:mysql /usr/local/mysql/   #将mysql目录的所有文件的属主和属组改为mysql用户
chown mysql:mysql /etc/my.cnf   #同上,将mysql的配置文件my.cnf的属主和属组改为mysql

8.初始化数据库
/usr/local/mysql/scripts/mysql_install_db \
 --user=mysql \                       #指定管理用户
 --ldata=/var/lib/mysql \             #与--datadir同义
 --basedir=/usr/local/mysql \        #指定数据库的安装目录
 --datadir=/home/mysql               #指定数据库文件的存储路径

9.修改配置文件
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock   #建立软链接
vim /etc/init.d/mysqld   #修改mysqld文件
 basedir=/usr/local/mysql   #找到basedir参数,输入/usr/local/mysql
 datadir=/home/mysql   #batadir参数输入/home/mysql
 :wq保存退出

10.启动并查看mysql服务
service mysqld start
netstat -natp | grep 3306

11.登录及退出mysql
mysql   #登录,密码为空,直接回车即可
quit/exit   #退出,需进入数据库
mysqladmin -u root -p password 123456   #设置数据库登录用户及密码
mysql -uroot -p123456   #使用root登录,密码为123456,-p后面不要加空格

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

网站文章

  • C++学习15_类和对象(特殊数据成员初始化 特殊成员函数)

    文章目录特殊的数据成员——初始化常量数据成员 ( const ) 和引用数据成员( & )类对象数据成员静态数据成员 ( static )特殊成员函数静态成员函数const成员函数特殊的数据成员—...

    2024-01-30 22:50:31
  • SSL协议详解

    SSL协议详解

    SSL协议分为两层,下层为==SSL记录协议==,上层为==SSL握手协议、SSL密码变化协议和SSL警告协议。== 1.下层为SSL记录协议,主要作用是为高层协议提供基本的安全服务 > 建立在...

    2024-01-30 22:50:24
  • Cannot invoke “org.apache.ibatis.session.SqlSession.close()“ because “sqlSession“ is null

    Cannot invoke “org.apache.ibatis.session.SqlSession.close()“ because “sqlSession“ is null

    MyBatis遇到的神坑 刚才去优化MyBatis的属性配置的时候,使用resultMap,执行测试方法,提示我错误信息 可以看到错误信息 Cannot invoke "org.apache...

    2024-01-30 22:50:17
  • 计算机组成原理名词解释 地址,计算机组成原理名词解释

    匿名用户1级2009-12-27 回答计算机是一种用于高速计算的计算机器,可以进行数值,逻辑计算,并具有存储记忆功能。如果没有没有特别指定,现在的计算机都是指电子计算机。电子计算机由软件和硬件两大系统...

    2024-01-30 22:50:09
  • Android RTL布局适配

    Android RTL布局适配

    丈夫志四海,万里犹比邻。 —曹植《赠白马王彪》 RTL布局是什么 如上图所示,RTL(Right To Left)即视图的表现形式是从右开始向左结束。我们日常更习惯于LTR(Left To Right)视图,但在中东的阿拉伯语系里他们视觉习惯跟我们正好相反,他们更习惯从右向左的视觉形式。 最近公司开发的产品正好需要做RTL适配,本文总结分享在适配RTL过程中的技术要点。 RT...

    2024-01-30 22:49:41
  • Java集合之ArrayList和LinkedList

    Java集合之ArrayList和LinkedList

    Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set ...

    2024-01-30 22:49:33
  • 08 JavaScript

    08 JavaScript

    1. 基本介绍1.JavaScript是一种专门在浏览器编译并执行的编程语言2.JavaScript处理用户与浏览器之间请求问题3.JavaScript采用【弱类型编程语言风格】对【面向对象思想】来进...

    2024-01-30 22:49:26
  • Ant Counting(多重背包计数 + 优化)

    Ant Counting(多重背包计数 + 优化)

    Ant Counting 题目 t种蚂蚁,总共n只,从中挑出i只,求从中挑出l只到r只的所有挑法。 思路 显然是dp , 定义dp为从前i只挑出j只的方案集合,记录它的数量count。 状态转移是从 ...

    2024-01-30 22:48:59
  • logStash导出elasticsearch数据

    需求:要分析es库中存储的数据。 注:es存储数据是以文件形式存储的没有办法直接分析,需要把数据以.json文件形式的数据来进行分析。 环境:linux,logstash7.1.1,elasticse...

    2024-01-30 22:48:53
  • 设计模式之适配器模式(C++实现)

    设计模式之适配器模式(C++实现)

    适配器模式介绍,包括应用场景,优缺点,模式结构,类图 以及 C++代码示例

    2024-01-30 22:48:47