mariadb与mysql
1.1)配置yum源
[root@db01 ~]# vim /etc/yum.repos.d/CentoS7-db.repo
[db]
name='db'
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-10.5.22/yum/rhel/7.0/x86_64/
enabled=1
gpgcheck=0
1.2)下载并启动mariadb
[root@db01 ~]# yum -y install mariadb-server mariadb
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb
2)MySQL二进制安装(mysql-5.6)
软件包下载地址:https://downloads.mysql.com/archives/community/
2.1)创建mysql用户
[root@db02 ~]# groupadd -r -g 306 mysql
[root@db02 ~]# useradd -r -u 306 -g 306 -d /data/mysql mysql
2.2)准备数据目录,建议使用逻辑卷
[root@db02 ~]# mkdir /data/mysql -p
[root@db02 ~]# chown -R mysql:mysql /data/
2.3)准备二进制程序
[root@db02 ~]# tar xf mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@db02 ~]# cd /usr/local/
[root@db02 local]# mv mysql-5.6.51-linux-glibc2.12-x86_64/ mysql-5.6.51
[root@db02 local]# ln -sv mysql-5.6.51/ mysql
[root@db02 local]# chown -R mysql.mysql /usr/local/mysql-5.6.51/
2.4)准备配置文件
[root@db02 local]# vim /etc/my.cnf
#mysql语可块甲添加以下三个选
[mysqld]
datadir = /data/mysql
innodb_file_per_table = on #在mariadb5.5以上版的是默认值,可不加
skip_name_resolve = on#禁止主机名解析,建议使用
2.5)创建数据库文件
[root@db02 local]# yum -y install autoconf
[root@db02 mysql]# cd /usr/local/mysql
[root@db02 mysql]# ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
2.6)准备服务脚本,并启动服务
[root@db02 mysql]# cp support-files/mysql.server /etc/init.d/
[root@db02 mysql]# service mysql.server start
2.7)PATH路径
[root@db02 mysql]# echo 'PATH=/usr/local/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh
[root@db02 mysql]# . /etc/profile.d/mysql.sh
2.8)安全初始化
[root@db02 mysql]# mysql_secure_installation
2.9)开启自启配置
[root@db02 mysql]# vim /etc/rc.d/rc.local
/etc/init.d/mysql.server start
[root@db02 mysql]# chmod +x /etc/rc.d/rc.local
3)MySQL二进制安装(mysql-5.7)
3.1)创建mysql用户
[root@db02 ~]# useradd -r -u 306 -s /sbin/nologin mysql
3.2)准备数据目录,建议使用逻辑卷
[root@db02 ~]# mkdir /data/mysql -p
[root@db02 ~]# chown -R mysql:mysql /data/
3.3)准备二进制程序
[root@db02 ~]# tar xf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
3.4)安装相关包
[root@db02 ~]# yum -y install libaio numactl-libs
3.5)准备程序文件
[root@db02 ~]# cd /usr/local/
[root@db02 local]# mv mysql-5.7.29-linux-glibc2.12-x86_64/ mysql-5.7.29
[root@db02 local]# ln -vs mysql-5.7.29/ mysql
[root@db02 local]# chown -R mysql:mysql /usr/local/mysql-5.7.29
[root@db02 local]# chown -R mysql:mysql /usr/local/mysql
3.6)准备环境变量
[root@db02 local]# echo 'PATH=/usr/local/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh
[root@db02 local]# . /etc/profile.d/mysql.sh
3.7)准备配置文件
[root@db02 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
3.8)生成数据库文件,并提取root密码
[root@db02 local]# mysqld --initialize --user=mysql --datadir=/data/mysql
[root@db02 local]# grep 'password' /data/mysql/mysql.log
2023-08-17T10:00:19.655613Z 1 [Note] A temporary password is generated for root@localhost: &-g?dfHR+1+j
3.9)准备服务脚本和启动
[root@db02 local]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
`centos7可以用,8不能用`
[root@db02 local]# chkconfig --add mysql.server
3.10)启动mysql服务并修改密码
[root@db02 local]# service mysql.server start
[root@db02 local]# mysqladmin -uroot -p'&-g?dfHR+1+j' password root
4)编译安装mysql
4.1)环境准备
[root@mail ~]# yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel -y
4.2)创建mysql用户
[root@mail ~]# useradd -r -d /data/mysql -s /sbin/nologin mysql
4.3)准备数据目录,建议使用逻辑卷
[root@mail ~]# mkdir /data/mysql -p
[root@mail ~]# chown -R mysql:mysql /data/
4.3)下载软件并编译
下载地址:https://mariadb.com/kb/en/mariadb-server-10-2-35/
[root@mail ~]# tar xf mariadb-10.2.35.tar.gz
[root@mail ~]# cd mariadb-10.2.35/
`编译`
[root@mail ~]# cd mariadb-10.2.35/
[root@mail mariadb-10.2.35]# cmake . \
-DCMAKE_INSTALL_PREFIX=/app/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@mail mariadb-10.2.35]# make
[root@mail mariadb-10.2.35]# make install
4.4)准备环境变童
[root@mail mariadb-10.2.35]# echo 'PATH=/app/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh
[root@mail mariadb-10.2.35]# . /etc/profile.d/mysql.sh
4.5)生成数据库文件
[root@mail mariadb-10.2.35]# /app/mysql/scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
4.6)准备配置文件
[root@mail mariadb-10.2.35]# cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
[root@mail init.d]# cat /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
4.7)准备启动脚本,并启动服务
[root@mail mariadb-10.2.35]# cp support-files/mysql.server /etc/init.d/mysql.server
[root@mail mariadb-10.2.35]# chkconfig --add mysql.server
[root@mail mariadb-10.2.35]# chmod +x /etc/init.d/mysql.server
4.8)安全初始化
[root@db02 mariadb-10.2.35]# mysql_secure_installation