第十周作业


通过编译、二进制安装MySQL5.7
1.创建用户

[root@Centos8 data]# groupadd -r mysql
[root@Centos8 data]# useradd -r -g mysql -s /sbin/nologin -d /data/mysql mysql

[root@Centos8 ~]# id mysql
uid=995(mysql) gid=992(mysql) groups=992(mysql)

2.创建数据库目录

[root@Centos8 data]# mkdir -p /data/mysql
[root@Centos8 data]# chown mysql:mysql /data/mysql

3.安装相关依赖包

[root@Centos8 ~]# dnf -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel   ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel perl-Data-Dumper libtirpc libtirpc-devel

[root@Centos8 ~]# wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.1/rpcsvc-proto-1.4.1.tar.xz
[root@Centos8 ~]# tar -Jxvf rpcsvc-proto-1.4.1.tar.xz
[root@Centos8 ~]# cd rpcsvc-proto-1.4.1
[root@Centos8 ~]# ./configure
[root@Centos8 ~]# make && make install

4.解压缩源码包

[root@Centos8 data]# tar xvf mysql-5.7.36.tar.gz -C /usr/local
[root@Centos8 data]# ls /usr/local
bin  etc  games  include  lib  lib64  libexec  mysql-5.7.36  sbin  share  src

5.源码编译安装

[root@Centos8 data]# cd /usr/local/mysql-5.7.36/
[root@Centos8 mysql-5.7.36]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/ -DSYSCONFDIR=/etc/ -DMYSQL_USER=mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_MROONGA_STORAGE_ENGINE=1 -DWITH_DEBUG=0 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

[root@Centos8 mysql-5.7.36]# make && make install

6.设置环境变量

[root@Centos8 ~]# echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@Centos8 ~]# . /etc/profile.d/mysql.sh

7.准备配置文件

[root@Centos8 mysql]# vim /etc/my.cnf
	[mysqld]
	datadir=/data/mysql
	skip_name_resolve=1
	socket=/data/mysql/mysql.sock
	log-error=/data/mysql/mysql.log
	pid-file=/data/mysql/mysql.pid
	[client]
	socket=/data/mysql/mysql.sock 

8.生成数据库文件

[root@Centos8 mysql]# mysqld --initialize-insecure --user=mysql --datadir=/data/mysql

9.准备启动脚本,并启动服务

[root@Centos8 ~]# cp /apps/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@Centos8 ~]# chkconfig --add mysqld
[root@Centos8 ~]# service mysqld start

10.进行安全初始化

[root@Centos8 ~]# mysql_secure_installation

二进制安装mariadb10.4
1.创建用户

[root@Centos7 ~]# groupadd -r mysql
[root@Centos7 ~]# useradd -r -g mysql -s /sbin/nologin -d /data/mysql mysql
[root@Centos7 ~]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)

2.创建数据库目录

[root@Centos7 ~]# mkdir -p /data/mysql
[root@Centos7 ~]# chown mysql:mysql /data/mysql

3.解压缩二进制压缩包

[root@Centos7 data]# tar xf mariadb-10.4.22-linux-systemd-x86_64.tar.gz -C /usr/local
[root@Centos7 data]# cd /usr/local
[root@Centos7 mysql]# ln -s mariadb-10.4.22-linux-systemd-x86_64/ mysql
[root@Centos7 local]# chown -R root:root /usr/local/mysql

4.设置环境变量

[root@Centos7 mariadb]# echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@Centos7 local]# . /etc/profile.d/mysql.sh

5.准备配置文件

[root@Centos7 local]# vim /etc/my.cnf
	[mysqld]
	datadir=/data/mysql
	skip_name_resolve=1
	socket=/data/mysql/mysql.sock
	log-error=/data/mysql/mysql.log
	pid-file=/data/mysql/mysql.pid
	[client]
	socket=/data/mysql/mysql.sock 

6.生成数据库文件

[root@Centos7 mysql]# ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql

7.准备启动脚本并启动

[root@Centos7 mysql]# cp support-files/systemd/mariadb.service /usr/lib/systemd/system/
[root@Centos7 mysql]# systemctl daemon-reload
[root@Centos7 mysql]# systemctl enable --now mariadb

8.进行安全初始化

[root@Centos7 mysql]# mysql_secure_installation

报错提示:

解决方法

[root@Centos7 mysql]# ln -s /data/mysql/mysql.sock /tmp/mysql.sock
SRE