Linux源码安装Mysql5.7
1.下载软件包
进入到mysql官网下载自己对应版本的mysql,
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
我这里下载mysql-5.7.30-linux-glibc2.12-x86_64.tar版本
将下载好的源码压缩包上传至:/home目录下
(新建虚拟机时磁盘没有规划,导致home目录磁盘空间比较大,所以将mysql安装在home目录下)
2.检查卸载
安装前,我们可以检测系统是否自带安装 MySQL:
[root@localhost home]# rpm -qa | grep mysql
如有,类似 mysql-libs-5.1.52-1.el6_0.1.x86_64那可以选择进行卸载:
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
检查否存在 mariadb 数据库,如有,卸载之,卸载同上
[root@localhost home]# rpm -qa | grep mariadb
如有,类似mariadb-libs-5.5.56-2.el7.x86_64
则 卸载rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3.安装
(1)安装源文件版本:mysql-5.7.30-linux-glibc2.12-x86_64.tar
进入 /home, 解压源码文件,并重新命名mysql-5.7
[root@localhost homel]#tar -xf mysql-5.7.30-linux-glibc2.12-x86_64.tar
[root@localhost homel]# mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql-5.7
(2)创建数据文件mkdir data
[root@localhost homel]# cd mysql-5.7
[root@localhost mysql-5.7]#mkdir data
(3)检查mysql组和用户是否存在,如无创建
[root@localhost mysql-5.7]# cat /etc/group | grep mysql
#类似
mysql:x:490:
[root@localhost mysql-5.7]# cat /etc/passwd | grep mysql
#类似
mysql:x:496:490::/home/mysql:/bin/bash
以上为存在的情况,如无,执行添加命令:groupadd mysql 和 useradd -r -g mysql mysql
[root@localhost mysql-5.7]# groupadd mysql
[root@localhost mysql-5.7]# useradd -r -g mysql mysql
#useradd -r参数表示mysql用户是系统用户,不可用于登录系统
(4)将/home/mysql-5.7的所有者及所属组改为mysql
[root@localhost mysql-5.7]# chown -R mysql.mysql /home/mysql-5.7
[root@localhost mysql-5.7]# chown -R mysql.mysql /home/mysql-5.7/data
[root@localhost mysql-5.7]# chown -R mysql /home/mysql-5.7/data
[root@localhost mysql-5.7]# chown -R mysql /home/mysql-5.7
[root@localhost mysql-5.7]# chmod -R 755 /home/mysql-5.7
(5)在/home/mysql-5.7/support-files目录下创建my_default.cnf
[mysqldump]
user =root
password =123456[mysqld]
basedir=/home/mysql-5.7
datadir=/home/mysql-5.7/data
user = mysql
log-bin=/home/mysql-5.7/mysql-bin
#binlog-do-db=test
#binlog-ignore-db=mysqlserver-id=4
character-set-server=utf8
collation-server=utf8_general_ci
max_connections=4096
max_connect_errors = 1024
socket=/home/mysql-5.7/mysql.sock
log-error=/home/mysql5.7/mysqld.log
pid-file=/home/mysql5.7/mysqld.pidsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONevent_scheduler=1
back_log=500
#数据库连接闲置最大时间值为30分钟
wait_timeout=1800
#禁止MySQL对外部连接进行DNS解析
skip-name-resolve#innodb_additional_mem_pool_size=100M#thread_concurrency=32
#MySql读入缓冲区大小
read_buffer_size=4M
#临时表的大小为32M
tmp_table_size=32M#max_allowed_packet = 500M
explicit_defaults_for_timestamp=true
#关闭大小写
lower_case_table_names=1#innodb_flush_log_trx_commit=0#log-error=/home/mysqld.log#interactive_timeout=216000
#wait_timeout=216000
#二进制日志自动删除的天数
#expire_logs_days=15
#binlog_format=mixed#log-bin-trust-function-creators=1
#event_scheduler = 1#log_timestamps=SYSTEM
#innodb_buffer_pool_size = 130023424
innodb_buffer_pool_size=4294967296
#group_concat_max_len = 20480
#sync_binlog = 100
拷贝my_default.cnf文件到/etc/my.cnf如果提示是否覆盖,y
[root@localhost support-files]# cp my_default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
(6)修改mysql.server文件
进入/home/mysql-5.7/support-files目录修改mysql.server,修改内容如下找到mysqld_pid_file_path=修改MySQL的安装路径及数据路径
# The following variables are only set for letting mysql.server find things.# Set some defaults
mysqld_pid_file_path=
if test -z "$basedir"
thenbasedir=/home/mysql-5.7bindir=/home/mysql-5.7/binif test -z "$datadir"thendatadir=/home/mysql-5.7/datafisbindir=/home/mysql-5.7/binlibexecdir=/home/mysql-5.7/bin
elsebindir="$basedir/bin"if test -z "$datadir"thendatadir="$basedir/data"fisbindir="$basedir/sbin"libexecdir="$basedir/libexec"
fi
(7)把启动脚本放到开机初始化目录。
进入/home/mysql-5.7/support-files目录下执行cp mysql.server /etc/init.d/mysql
[root@localhost support-files]# cp mysql.server /etc/init.d/mysql
(8)初始化 mysqld
进入到/home/mysql-5.7执行./bin/mysqld --initialize --user=mysql --basedir=/home/mysql-5.7/ --datadir=/home/mysql-5.7/data/
[root@localhost mysql-5.7]#./bin/mysqld --initialize --user=mysql --basedir=/home/mysql-5.7/ --datadir=/home/mysql-5.7/data/
(9)找出初始密码
初始化完成之后进入/home/mysql-5.7/data,查看cat mysqld.log日志找出随机生成mysql数据库登录的临时密码
[root@localhost data]# cat mysqld.log
2022-01-21T14:02:25.896593Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-01-21T14:02:25.896962Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2022-01-21T14:02:25.896973Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2022-01-21T14:02:26.710078Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-01-21T14:02:26.791482Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-01-21T14:02:26.902798Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: caa64450-54b2-11ea-8c3c-000c2923d700.
2022-01-21T14:02:26.904801Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-01-21T14:02:28.091585Z 0 [Warning] CA certificate ca.pem is self signed.
2022-01-21T14:02:28.293469Z 1 [Note] A temporary password is generated for root@localhost: s7kh.#l8%O6p
找出临时密码:2022-01-21T14:02:28.293469Z 1 [Note] A temporary password is generated for root@localhost: s7kh.#l8%O6p密码就是:s7kh.#l8%O6p 记住密码随后登陆需要
(10)启动mysql服务
service mysql start
[root@localhost data]# service mysql start
Starting MySQL.. SUCCESS!
(11)登录mysql
进入/home/mysql-5.7/bin执行./mysql -u root -p登录mysql,密码为初始密码
配置文件中的socket路径做下软连接
[root@localhost data]ln -s /home/mysql-5.7/mysql.sock /tmp/mysql.sock
(12)修改密码
set password=password(‘密码’);
mysql> set password=password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec)
(13)授权root权限使得外部地址使用root登陆
grant all privileges on . to root@’%’ identified by ‘123456’;
mysql> grant all privileges on *.* to root@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
(14)刷新权限:flush privileges;
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
(15)声明环境变量
[root@localhost home] vim /etc/profile
#末尾添加一行
export PATH=$PATH:/home/mysql-5.7/bin[root@localhost home] source /etc/profile
参考文档:
https://blog.csdn.net/iT_MaNongking/article/details/104453370
Linux源码安装Mysql5.7相关推荐
- linux 源码安装mysql5.7_linux安装mysql5.7.27
一.卸载 mysql安装有三种方式,包括二进制包安装(Using Generic Binaries).RPM包安装.源码安装.一般是前两种比较多 二.安装 建议路径设置按照写的来 将下载的压缩包复制到 ...
- linux系统下源码安装mysql5.6数据库
linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...
- linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库
linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...
- Linux ARM机器,源码安装mysql5.7.23,并且运行
背景:华为云 系统版本:EulerOS release 2.0 (SP8) 第一节:源码安装mysql5.7.23 一.下载 yum install ncurses-devel -y yum ins ...
- Linux源码安装mysql 5.6.12(cmake编译)
转载链接:http://www.2cto.com/database/201307/229260.html Linux源码安装mysql 5.6.12(cmake编译) 1.安装make编译器(默认系统 ...
- unbuntu cmake安装mysql_Ubuntu下源码安装MySQL-5.5.25a
Ubuntu下源码安装MySQL-5.5.25a,今天在Ubuntu Linux下本来玩玩Android的源码看下的.那小的怎看根目录的空间已然不多.所以想把 今天在Ubuntu Linux下本来玩玩 ...
- linux怎么用源码安装mysql,Linux源码安装mysql步骤
创建文件夹: mkdir /usr/local/webserver 安装必要依赖包 yum -y install gcc gcc-c++ make ncurses-devel 安装cmake包: t ...
- Linux源码安装步骤
Linux上几乎所有的软件都经过了GPL授权,因此几乎所有的软件都会提供源码. 而一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上 ...
- rhel 7.2 安装mysql_在rhel7.2下源码安装mysql-5.6.35
如何在一台新机rhel7.2下源码安装mysql-5.6.35 一.前期准备工作 1.首先安装依赖包,避免在安装过程中出现问题 yum -y install gcc gcc-c++ cmake ncu ...
- Linux源码安装软件
Linux源码安装软件 源码安装:最原始最有效的安装方式 三部曲 (1)-./configure xxx 生成makefile文件,随后需要的安装信息都是从这一步中获取 (2)make 根据makef ...
最新文章
- cookie关键字_我遇过的最难的Cookie问题
- CVPR 2021 | 针对全局 SfM 的高效初始位姿图生成
- python【蓝桥杯vip练习题库】ADV-120 	6-17复数四则运算
- 判断两个链表是否相交
- Windows Server2012 搭建域错误“本地Administraor账户不需要密码”
- 【pmcaff专栏】项目管理失败?如何避免?
- boost::mpl模块实现eval_if相关的测试程序
- 怎么中文读_这些中文名字如果用日语念出来会怎样?!
- 老杨和驳客都在胡言乱语——千条道理不如一个事实
- Arcgis javascript那些事儿(十八)——空间查询的几种方法
- python演化博弈仿真_基于matlab的演化博弈模型求解代码?
- c语言php环境搭建,c语言从入门到放弃 php从入门到放弃系列-01php环境的搭建
- CleanMyPC最新2022win系统清理工具软件
- listview 分页加载
- PS基础,灰度色彩模式
- Sublime不支持GDK导致中文乱码(两种方法)
- ice 的 Nonmutating 和 Idempotent
- TreeView 控件
- 看过千万的风景 比不上故乡的美丽
- 十进制逢十进一的意思