centos7 源码编译安装mysql5.7
一.MYSQL 源代码 编译安装
官方教程:mysql源代码编译安装
第一步:安装MySql编译所需要用到的依赖库
# yum -y install ncurses-devel cmake libaio-devel openssl-devel install gcc gcc-c++
# rm -f /var/run/yum.pid
第二步:上传软件到服务器端并解压
# tar -zxvf mysql-boost-5.7.31.tar.gz
# cd mysql-5.7.31
第三步:配置(基于cmake进行配置)
# vim myconfig.sh
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3307 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_SSL=system \
-DWITH_BOOST=boost
选项说明:
-DCMAKE_INSTALL_PREFIX :安装路劲
-DMYSQL_DATADIR : 数据目录
-DMYSQL_TCP_PORT :端口号
-DMYSQL_UNIX_ADDR :套链接文件位置
# chmod +x myconfig.sh
# ./myconfig.sh
# rm -rf /etc/my.cnf
注:删除系统原有自带配置文件, 不然 启动不了! 后续创建mysql 的my.cnf 配置文件
第四步:编译安装
# make -j2 && make install make && make install
选项说明:不能超过分配的核实
-j2 :代表同事开启多个线程共同实现编译操作
第五步:添加用户组:
# id mysql
id: mysql: no such user
注:有mysql组的话可不创建
# useradd -r -s /sbin/nologin mysql
二.MySql数据库初始化
[官方教程:mysql数据初始化][(https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization.html]
第一步:进入到安装目录
# cd /usr/local/mysql
第二步:创建系统变量 secure_file_priv 限制导入导出目录/并修改权限
# mkdir mysql-files
# chown -R mysql.mysql /usr/local/mysql
注: /usr/local/mysql5_7 (自己安装的路劲)
# chmod 750 mysql-files
第三步:数据库初始化操作
:[Note] A temporary password is generated for root@localhost: a8ufy=hxcfqD
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2021-05-26T00:52:37.703161Z 1 [Note] A temporary password is generated for root@localhost: ej6,Hg5&dSFZ
注: root@localhost: 为初始密码(记录下)
ej6,Hg5&dSFZ
注: --basedir / --datadir 跟自己安装的路劲
第四步: 拷贝mysql.server 脚本到/etc/init.d目录,然后启动数据库
# cp support-files/mysql.server /etc/init.d/mysql
# chown -R mysql.mysql /usr/local/mysql
注: /usr/local/mysql5_7 (自己安装的路劲)
# service mysql start
启动异常处理:
#service mysql start
Starting MySQL.Logging to '/usr/local/mysql5.7/data/localhost.localdomain.err'.
.. ERROR! The server quit without updating PID file (/usr/local/mysql5.7/data/localhost.localdomain.pid).

出现以上问题的原因查看 localhost.localdomain.err 这个错误日志
启动成功:
# service mysql start
Starting MySQL.Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
SUCCESS!
#netstat -tnlp | grep mysqld
三.MySql源码安装后的后续配置:
第一步:编写配置文件
# vim /usr/local/mysql/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
# service mysql restart
第二步:修改密码 /登录mysql
[root@localhost mysql]# bin/mysqladmin -uroot password '123' -p
Enter password: j6,Hg5&dSFZ
[root@localhost mysql]# ./bin/mysql -hlocalhost -uroot -p
Enter password: 123
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.31 Source distribution
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
#另一种方式修改密码:
[root@localhost mysql]# ./bin/mysql -hlocalhost -uroot -p
Enter password: j6,Hg5&dSFZ
mysql> set password='root';
mysql> exit
第三步: 设置开机自启
# chkconfig -add mysql //添加开机启动
# chkconfig mysql on //允许
或者 有的cetos7上面你的命令不可用则用下面的
# systemctl enable mysql //开机启动 .service可以省略
# systemctl is-enabled mysql.service //查看某个服务是否开机启动
# reboot //重启
# service mysql status
SUCCESS! MySQL running (1310)
安装到此结束!!
[官方教程:mysql源代码编译安装]
https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
mysql 官方手册
https://dev.mysql.com/doc/refman/5.7/en/
源代码安装先决条件
https://dev.mysql.com/doc/refman/5.7/en/source-installation-prerequisites.html
MySql源码下载
https://downloads.mysql.com/archives/community/

了解什么是特征以及如何使用它们的最好方法是观察它们的本质

浙公网安备 33010602011771号