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).

image

出现以上问题的原因查看 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/

image

posted @ 2021-05-26 10:05  这该死的代码  阅读(405)  评论(0)    收藏  举报