第十周--作业

1、通过编译,二进制安装MySQL5.7

二进制安装步骤:

一、安装相关依赖包

[root@localhost ~]#yum -y install libaio numactl

 

二、创建系统用户

[root@localhost ~]#useradd -r -s /sbin/nologin mysql

 

三、准备程序文件

[root@localhost ~]#wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
#https://cdn.mysql.com//Downloads/MySQL-Cluster-8.0/mysql-cluster-8.0.28-linux-glibc2.12-x86_64.tar.gz
[root@localhost ~]#tar xf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@localhost ~]#cd /usr/local/
[root@localhost ~]#ln -s mysql-5.7.36-linux-glibc2.12-x86_64/ mysql
[root@localhost ~]#chown -R root:root /usr/local/mysql

 

四、准备环境变量

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

 

五、编写配置文件

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

[mysql]
prompt=(\\u@\\h) [\\d]>\\_

[client]
socket=/data/mysql/mysql.sock

 

六、初始化数据库文件并提取root密码

[root@localhost ~]#mysqld --initialize --user=mysql --datadir=/data/mysql
...省略...
2019-07-04T13:03:54.258140Z 1 [Note] A temporary password is generated for
root@localhost: LufavlMka6,! #注意生成root的初始密码

[root@localhost ~]#grep password /data/mysql/mysql.log
2019-12-26T13:31:30.458826Z 1 [Note] A temporary password is generated for
root@localhost: LufavlMka6,!

[root@localhost ~]#awk '/temporary password/{print $NF}' /data/mysql/mysql.log
LufavlMka6,!

 

七、准备启动服务脚本

[root@localhost ~]#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#添加mysql服务
[root@localhost ~]#chkconfig --add mysqld
[root@localhost ~]#service mysqld start

 

八、修改口令

[root@localhost ~]#mysqladmin -uroot -p'LufavlMka6,!' password magedu

 

九、测试登陆

[root@localhost ~]#mysql -uroot -pmagedu

  

编译安装步骤:

一、安装相关依赖包

#本操作适用版本:MySQL-5.6.51.tar.gz,mariadb-10.2.18.tar.gz
yum -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

 

二、创建系统用户账号

[root@localhost ~]#useradd -r -s /sbin/nologin -d /data/mysql mysql

 

三、准备数据库目录

[root@localhost ~]#mkdir /data/mysql
[root@localhost ~]#chown mysql.mysql /data/mysql

 

四、下载压缩源码并解压

[root@localhost ~]#wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.51.tar.gz
[root@localhost ~]#tar xvf mysql-5.6.51.tar.gz -C /usr/local/src

 

五、源码编译安装指定安装参数

[root@localhost ~]#cd /usr/local/src/mysql-5.6.51/
[root@localhost ~]#cmake . \
-DCMAKE_INSTALL_PREFIX=/apps/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@localhost ~]#make && make install

 

六、准备环境变量

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

 

七、生成数据库文件

[root@localhost ~]#cd /apps/mysql/
[root@localhost ~]#scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql

 

八、准备配置文件

[root@localhost ~]#cp -b /apps/mysql/support-files/my-default.cnf /etc/my.cnf

#旧版本或mariadb-10.2.18.tar.gz
[root@localhost ~]#cp /apps/mysql/support-files/my-huge.cnf /etc/my.cnf

 

九、准备启动脚本并启动服务

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

 

十、安全初始化

[root@localhost ~]#mysql_secure_installation

  

2、二进制安装mariadb10.4

安装步骤:

1、安装相关包
[root@centos7 ~]#yum -y install libaio numactl-libs
 
2、创建用户和组
[root@centos7 ~]#groupadd mysql
[root@centos7 ~]#useradd -r -g mysql -s /bin/false mysql
 
3、准备程序文件
[root@centos7 ~]#tar xfv mariadb-10.4.25-linux-glibc_214-x86_64.tar.gz -C /usr/local
[root@centos7 ~]#cd /usr/local/
[root@centos7 local]#ln -s mariadb-10.4.25-linux-glibc_214-x86_64 mysql
[root@centos7 local]#chown -R root.root /usr/local/mysql/
 
4、准备环境变量
[root@centos7 local]#echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@centos7 local]#. /etc/profile.d/mysql.sh
 
5、创建数据库目录,修改权限
[root@centos7 local]#mkdir /data/mysql -pv
mkdir: created directory ‘/data/mysql’
[root@centos7 local]#chown -R mysql:mysql /data/mysql/
 
6、准备配置文件
[root@centos7 local]#cd /usr/local/mysql/
[root@centos7 mysql]#cp /etc/my.cnf{,.bak}
[root@centos7 mysql]#vim /etc/my.cnf
[root@centos7 mysql]#cat /etc/my.cnf
[mysqld]
#datadir=/var/lib/mysql
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
 
[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
log-error=/data/mysql/mysql.log
pid-file=/var/run/mariadb/mariadb.pid
 
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
 
7、创建配置文件中指定的路径并修改权限
[root@centos7 mysql]#mkdir /var/lib/mysql
[root@centos7 mysql]#chown -R mysql:mysql /var/lib/mysql/
[root@centos7 mysql]#touch /var/lib/mysql/mysql.sock
[root@centos7 mysql]#ll  /var/lib/mysql
total 0
-rw-r--r-- 1 root root 0 Feb  1 13:00 mysql.sock
[root@centos7 mysql]#chmod guo+wr /var/lib/mysql/mysql.sock
[root@centos7 mysql]#ll  /var/lib/mysql
total 0
-rw-rw-rw- 1 root root 0 Feb  1 13:00 mysql.sock
[root@centos7 mysql]#touch /data/mysql/mysql.log
[root@centos7 mysql]#ll /data/mysql/
total 0
-rw-r--r-- 1 root root 0 Feb  1 13:18 mysql.log
[root@centos7 mysql]#chmod guo+rw /data/mysql/mysql.log
[root@centos7 mysql]#ll /data/mysql/mysql.log
-rw-rw-rw- 1 root root 0 Feb  1 13:18 /data/mysql/mysql.log
[root@centos7 mysql]#mkdir /var/run/mariadb
[root@centos7 mysql]#chown -R mysql:mysql /var/run/mariadb/
[root@centos7 mysql]#touch /var/run/mariadb/mariadb.pid
[root@centos7 mysql]#ll /var/run/mariadb/
total 0
-rw-r--r-- 1 root root 0 Feb  1 13:32 mariadb.pid
[root@centos7 mysql]#chmod guo+rw /var/run/mariadb/mariadb.pid
[root@centos7 mysql]#ll /var/run/mariadb/
total 0
-rw-rw-rw- 1 root root 0 Feb  1 13:32 mariadb.pid
 
8、初始化数据库文件并生成 root 空密码
[root@centos7 mysql]#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
 
9、启动MariaDB守护程序
[root@centos7 mysql]#./bin/mysqld_safe --user=mysql --datadir=/data/mysql &
10、测试MariaDB守护程序
[root@centos7 mysql]#cd ./mysql-test ; perl mysql-test-run.pl
 
11、准备服务脚本和启动
[root@centos7 mysql]#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@centos7 mysql]#chkconfig --add mysqld
[root@centos7 mysql]#systemctl start mysqld.service

  

posted @   এ蓝桉、  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示