第十周作业
通过编译、二进制安装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