安装前准备
基本需求 采用CentOS7系统搭建MySQL服务器 关闭防火墙 关闭SELinux 软件MySQL-5.7.17-1
RPM包方式安装
从官方下载RPM软件包 ——http://dev.mysql.com/downloads/mysql/ ——适用于当前系统的bundle集合包 mysql-community-client //客户端应用程序 mysql-community-common //数据库和客户端库共享文件 mysql-community-devel //客户端应用程序的库和头文件 mysql-community-embedded //嵌入式函数库 mysql-community-embedded-compat //嵌入式兼容函数库 mysql-community-embedded-devel //头文件和库文件作为MySQL的嵌入式库文件 mysql-community-libs //MySQL数据库客户端应用程序的共享库 mysql-community-libs-compat //客户端应用程序的共享兼容库
准备工作(如果以安装过mariadb须执行该操作) ——停止mariadb服务 ——删除文件 /etc/my.cnf ——删除数据 ——卸载软件包 [root@localhost ~]# systemctl stop mariadb [root@localhost ~]# rm -rf /etc/my.cnf [root@localhost ~]# rm -rf /var/lib/mysql/* [root@localhost ~]# rpm -e --nodeps mariadb-server
采用U升级安装,可替换冲突文件 [root@localhost ~]# tar –xf mysql-5.7.17.tar -C /root/mysql [root@localhost mysql]# yum -y install net-tools //安装MySQL需要的依赖包 [root@localhost ~]# yum -y install perl-Data-Dumper //安装MySQL需要的依赖包 [root@localhost ~]# yum -y install perl-JSON //安装MySQL需要的依赖 [root@localhost ~]# rpm -Uvh mysql-community-*.rpm //升级安装MySQL
通用二进制安装(mariadb)

1 准备用户 groupadd -r -g 3306 mysql useradd -r -g 3306 -u 3306 -d /data/mysql mysql 2 准备数据目录,建议使用逻辑卷 #可选做,后面的脚本mysql_install_db可自动生成此目录 mkdir /data/mysql chown mysql:mysql /data/mysql 3 准备二进制程序 tar xf mariadb-VERSION-linux-x86_64.tar.gz -C /usr/local cd /usr/local ln -sv mariadb-VERSION mysql chown -R root:root /usr/local/mysql/ 4 准备配置文件 cd /usr/local/mysql cp -b support-files/my-large.cnf /etc/my.cnf vim /etc/my.cnf #mysql语句块中添加以下三个选项 [mysqld] datadir = /data/mysql innodb_file_per_table = on #在mariadb5.5以上版的是默认值,可不加 skip_name_resolve = on #禁止主机名解析,建议使用 5 创建数据库文件 cd /usr/local/mysql/ ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql [root@centos8 mysql]#ls /data/mysql/ -l total 110604 -rw-rw---- 1 mysql mysql 12582912 Jun 1 16:44 ibdata1 -rw-rw---- 1 mysql mysql 50331648 Jun 1 16:44 ib_logfile0 -rw-rw---- 1 mysql mysql 50331648 Jun 1 16:44 ib_logfile1 drwx------ 2 mysql mysql 4096 Jun 1 16:44 mysql drwx------ 2 mysql mysql 4096 Jun 1 16:44 performance_schema drwx------ 2 mysql mysql 4096 Jun 1 16:44 test 6 准备服务脚本,并启动服务 cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld chkconfig --add mysqld service mysqld start #如果有对应的service 文件可以执行下面 cp support-files/systemd/mariadb.service /usr/lib/systemd/system/ systemctl daemon-reload systemctl enable --now mariadb 7 PATH路径 echo 'PATH=/user/local/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh . /etc/profile.d/mysql.sh 8 安全初始化 /user/local/mysql/bin/mysql_secure_installation
源代码安装(mariadb)

建议:内存4G以上 1 安装相关依赖包 yum -y 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 2 做准备用户和数据目录 useradd -r -s /sbin/nologin -d /data/mysql mysql 3 准备数据库目录 mkdir /data/mysql chown mysql.mysql /data/mysql 4 源码编译安装 编译安装说明 利用cmake编译,而利用传统方法,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能, 即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的 影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译 编译选项:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html 4.1 下载并解压缩源码包 tar xvf mariadb-10.2.18.tar.gz 4.2 源码编译安装mariadb cd mariadb-10.2.18/ 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 make && make install 提示:如果出错,执行rm -f CMakeCache.txt 5 准备环境变量 echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh . /etc/profile.d/mysql.sh 6 生成数据库文件 cd /app/mysql/ scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql 7 准备配置文件 cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf 8 准备启动脚本,并启动服务 cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld service mysqld start 9 安全初始化 mysql_secure_installation
启动数据库服务器
启动MySQL数据库服务 [root@localhost ~]# systemctl start mysqld //启动服务 [root@localhost ~]# ps -C mysqld //查看服务进程 [root@localhost ~]# systemctl status mysqld //查看服务状态 [root@localhost ~]# ss -anptul | grep mysqld //查看服务状态 [root@localhost ~]# systemctl enable mysqld //设置服务开机自启