编译方式安装mysql

转载于:

编译编译方式安装mysql编译

环境准备

环境:

硬件为4C/4G/50G

系统版本为redhat7.9

创建用户和组

#创建MySQL用户和组,并且用户不能登陆(系统自带mysql软件,安装时会自动创建该用户,不需要单独手工创建)

groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql

创建相关的目录

[root@mysql1 ~]# mkdir -p /mysql/data && chown mysql.mysql /mysql/data  #创建数据目录
[root@mysql1 ~]# mkdir -p /mysql/log && chown mysql.mysql /mysql/log    #创建log目录
[root@mysql1 ~]# mkdir -p /var/lib/mysql && chown mysql.mysql /var/lib/mysql     #创建UNIXSOCK目录

修改环境变量:

/root/.bash_profile添加

export PATH=\$PATH:/soft/mysql/bin

修改/etc/hosts

#编辑/etc/hosts,添加本机的hosts条目

vi /etc/hosts

关闭selinux和防火墙

#一定要关闭selinux

 vi /etc/selinux/config

SELINUX=disabled

#关闭防火墙 root
systemctl stop firewalld.service
systemctl disable firewalld.service

 安装依赖包

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d

centos:
vi /etc/yum.repos.d/CentOS-local.repo
[base-local]
name=CentOS-local
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

yum clean all
yum makecache

yum install -y make cmake gcc gcc-c++ ncurses ncurses-devel bison

各个包功能的简单介绍:

make   mysql源代码是由C和C++语言编写,在linux下使用make对源码进行编译和构建,要求必须安装make 3.75或以上版本

gcc    GCC是Linux下的C语言编译工具,mysql源码编译完全由C和C++编写,要求必须安装GCC4.4.6或以上版本

cmake mysql使用cmake跨平台工具预编译源码,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。安装最新版本即可。

bison  Linux下C/C++语法分析器

ncurses 字符终端处理库

卸载自安装软件

8、卸载自带mariadb和mysql

  • 检查系统是否安装mysql:rpm -qa | grep mysql,因为我是最小化安装所以没有。
  • 如果有则强制卸载:rpm -e --nodeps $(rpm -qa | grep mysql)

  • 检查系统是否安装mariadb:rpm -qa | grep mariadb
  • 如果有则强制卸载:rpm -e --nodeps $(rpm -qa | grep mariadb),这里卸载成功。

              

#解压

cd /soft

tar -xvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql

四、MySQL 初始化

1、初始化 MySQL 数据库

通过以下命令初始化创建 MySQL 数据库:

mysqld --initialize --user=mysql --basedir=/soft/mysql --datadir=/mysql/data/
[root@mysql1 bin]# mysqld --initialize --user=mysql --basedir=/soft/mysql --datadir=/mysql/data/
2022-10-10T09:09:18.725650Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-10-10T09:09:19.068992Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-10-10T09:09:19.142721Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-10-10T09:09:19.210954Z 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: 38f4f96f-487b-11ed-97e6-000c29a8d7cd.
2022-10-10T09:09:19.212859Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-10-10T09:09:19.213433Z 1 [Note] A temporary password is generated for root@localhost: hoyY2l-ho,Fa
[root@mysql1 bin]#

注意:这里框出的是root用户的初始密码:hoyY2l-ho,Fa

2、配置 my.cnf

配置 my.cnf 文件:

cat <<EOF>/etc/my.cnf
[mysqld]
user=mysql
basedir=/soft/mysql
datadir=/mysql/data
server_id=6
port=3306
socket=/tmp/mysql.sock
##客户端
[mysql]
socket=/tmp/mysql.sock
prompt=lucifer [\\\\d]>
EOF

复制

启动 MySQL 服务:

/soft/mysql/support-files/mysql.server start

复制

当然 MySQL 服务也可以配置开机自启动!

3、配置 MySQL 开机自启

Linux 6&7 通用配置方式:

cp /soft/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on

复制

配置完之后就可以用 service mysqld start 启动 MySQL 服务!

4、修改 MySQL ROOT 密码

尝试连接mysql数据库:

mysql -uroot hoyY2l-ho,Fa

上述步骤失败,修改/etc/my.cnf文件

打开刚才我们找到的配置文件,然后在里面找到 [mysqld] 这一项,然后在该配置项下添加 skip-grant-tables 这个配置,然后保存文件。
这里写图片描述

再将 mysql 关闭,再重启mysql(直接从上述步骤中的创建my.cnf后开始重新执行)

再次进入mysql -uroot,此时无需输入密码,即可进入下述的界面

重设 root 密码:

mysqladmin -uroot -pyhfvt_rP,24M password mysql

由于本次免密登陆,于是按照如下说法修改密码

lucifer [(none)]>use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
lucifer [mysql]>update user set authentication_string=password('mysql') where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

lucifer [mysql]>flush privileges;
Query OK, 0 rows affected (0.00 sec)

lucifer [mysql]>quit;
Bye

复制

用新密码连接 MySQL 数据库:

mysql -uroot -pmysql

复制

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值