MySQL编译安装

1.源码包地址

2.编译/安装

3.设置环境变量

4.初始化/登录

地址:

MYSQL源码包下载

右键复制链接 使用wget 下载到/usr/local/src下

再使用rpm --ivh 安装

--这个时候跳转到 cd /root/rpmbuild/SOURCES 使用ll查看有什么东西

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake --编译安装

--创建用户

useradd -s /sbin/nologin mysql

--解压SOURCE里的两个包

tar -zxvf mysql-5.7.17.tar.gz -C /opt

tar -jxvf boost_1_59_0.tar.bz2 -C /usr/local/

--重命名--

mv /usr/local/boost_1_59_0 /usr/local/boost

--cmake编译安装

cd /opt/mysql-5.7.17/

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DSYSCONFDIR=/etc \

-DSYSTEMD_PID_DIR=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \ -DWITH_BOOST=/usr/local/boost \

-DWITH_SYSTEMD=1

------------安装----------

make -j 3 && make install

--配置

vim /etc/my.cnf

---内容

复制代码
[client] #客户端设置
port = 3306
socket=/usr/local/mysql/mysql.sock
[mysqld] #服务全局设置
user = mysql #设置管理用户
basedir=/usr/local/mysql #指定数据库的安装目录
datadir=/usr/local/mysql/data #指定数据库文件的存储路径
port = 3306 #指定端口
character-set-server=utf8 #设置服务器字符集编码格式为utf8
pid-file = /usr/local/mysql/mysqld.pid #指定pid 进程文件路径
socket=/usr/local/mysql/mysql.sock #指定数据库连接文件
bind-address = 0.0.0.0 #设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
skip-name-resolve #禁用DNS解析
max_connections=2048 #设置mysql的最大连接数
default-storage-engine=INNODB #指定默认存储引擎
max_allowed_packet=16M #设置数据库接收的数据包大小的最大值
server-id = 1 #指定服务ID号

--设置环境变量

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

---初始化数据库

cd /usr/local/mysql/bin/

./mysqld \

--initialize-insecure \

--user=mysql \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data

--加入系统服务管理

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

--给root设置密码

mysqladmin -u root -p password "123456"

#直接回车,不用输入密码

root@test2 bin\]# mysql -u root -p #登录 mysql\> show databases ; mysql\>quit #退出

相关推荐
iRayCheung1 小时前
Docker安装的mysql限制ip访问
tcp/ip·mysql·docker
安顾里3 小时前
Linux命令-iostat
linux·运维·服务器
100编程朱老师3 小时前
面试:什么叫Linux多路复用 ?
linux·运维·服务器
群联云防护小杜3 小时前
云服务器主动防御策略与自动化防护(下)
运维·服务器·分布式·安全·自动化·音视频
PPIO派欧云3 小时前
PPIO X OWL:一键开启任务自动化的高效革命
运维·人工智能·自动化·github·api·教程·ppio派欧云
rainFFrain3 小时前
(MySQL)库的操作
数据库·mysql
miracletiger4 小时前
uv 新的包管理工具总结
linux·人工智能·python
enyp804 小时前
麒麟系统(基于Ubuntu)上使用Qt编译时遇到“type_traits文件未找到”的错误
linux·qt·ubuntu
struggle20254 小时前
LinuxAgent开源程序是一款智能运维助手,通过接入 DeepSeek API 实现对 Linux 终端的自然语言控制,帮助用户更高效地进行系统运维工作
linux·运维·服务器·人工智能·自动化·deepseek
八股文领域大手子5 小时前
深入理解缓存淘汰策略:LRU 与 LFU 算法详解及 Java 实现
java·数据库·算法·缓存·mybatis·哈希算法