mysql源代码编译安装(可自拟版本)

mysql源代码编译安装(可自拟版本)

centOS7 mysql5.6.40为例

准备

关闭防火墙的条件下

1.yum安装

yum install ncurses-devel libaio-devel gcc make cmake -y

2.rpm查询一下

rpm -qa ncurses-devel libaio-devel 

3.创建mysql用户,用于授权目录
-s /sbin/nologin 不允许用户进行任何交互操作
-M 不要自动创建用户的 home 目录
mysql 为用户名

useradd -s /sbin/nologin -M mysql

查看用户是否已经存在

id mysql

安装步骤

​ 在想要指定目录下载 这里我以/opt/mysql为例

cd /opt
mkdir mysql
cd mysql

1.下载源码
可以换别的版本mysql官方下载链接 找到对应tar.gz包 点击download后复制下载连接即可

wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.40.tar.gz

2.解压缩安装mysql

tar -zxvf mysql-5.6.40.tar.gz 

3.进入mysql目录 cmake

cd mysql-5.6.40
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40 -DMYSQL_DATADIR=/application/mysql-5.6.40/data -DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=1 -DWITH_DEBUG=0

4.cmake编译参数设置执行完后,就会自动生成makefile,可以执行

make
make install

5.创建软链接

ln -s /application/mysql-5.6.40/ /application/mysql

6.mysql初始化操作

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

7.使用mysql初始化自动生成的管理脚本

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
chmod 700 /etc/init.d/mysqld

8.创建tmp 修改属主属组 启动mysql

mkdir -p /application/mysql/tmp
chown -R mysql.mysql /application/mysql-5.6.40/

/etc/init.d/mysqld start 

9.添加到环境变量

vim /etc/profile
在最下面添加一行
export PATH=/application/mysql/bin:$PATH

保存退出 重新读取以下配置文件
source /etc/profile

10.登录使用mysql

mysql -uroot -p

mysql安全配置

修改密码 默认没有密码,不安全
注意:要先输入你的密码 这里密码为空直接回车

[root@localhost bin]# mysqladmin -uroot -p password
Enter password: 
New password: 
Confirm new password: 

将mysql添加到系统服务

先把mysql关掉

/etc/init.d/mysqld stop
vim /usr/lib/systemd/system/mysql.service

注意这里的路径要跟你的安装路径一致 pid文件路径可以通过 开启mysql服务时 ps -ef | grep mysql来查看
PIDFile=/application/mysql-5.6.40/data/localhost.localdomain.pid
ExecStart=/application/mysql-5.6.40/support-files/mysql.server start

[Unit]

Description=Mysql

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/application/mysql-5.6.40/data/localhost.localdomain.pid

ExecStart=/application/mysql-5.6.40/support-files/mysql.server start

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=false

[Install]

WantedBy=multi-user.target
systemctl daemon-reload
systemclt start mysql

远程登录授权

指定网段内192.168.70.*

grant all privileges on *.* to root@'192.168.70.%' identified by '123456';
flush privileges;
posted @ 2023-08-04 22:27  FouroFour  阅读(94)  评论(0编辑  收藏  举报