基本需求 采用CentOS7系统搭建MySQL服务器 关闭防火墙 关闭SELinux 软件MySQL-5.7.17-1
1 从官方下载RPM软件包 2 ——http://dev.mysql.com/downloads/mysql/ 3 ——适用于当前系统的bundle集合包 4 mysql-community-client //客户端应用程序 5 mysql-community-common //数据库和客户端库共享文件 6 mysql-community-devel //客户端应用程序的库和头文件 7 mysql-community-embedded //嵌入式函数库 8 mysql-community-embedded-compat //嵌入式兼容函数库 9 mysql-community-embedded-devel //头文件和库文件作为MySQL的嵌入式库文件 10 mysql-community-libs //MySQL数据库客户端应用程序的共享库 11 mysql-community-libs-compat //客户端应用程序的共享兼容库View Code
1 准备工作(如果以安装过mariadb须执行该操作) 2 ——停止mariadb服务 3 ——删除文件 /etc/my.cnf 4 ——删除数据 5 ——卸载软件包 6 [root@localhost ~]# systemctl stop mariadb 7 [root@localhost ~]# rm -rf /etc/my.cnf 8 [root@localhost ~]# rm -rf /var/lib/mysql/* 9 [root@localhost ~]# rpm -e --nodeps mariadb-server 10 [root@localhost ~]# mkdir /root/mysqlView Code
1 采用U升级安装,可替换冲突文件 2 [root@localhost ~]# tar –xf mysql-5.7.17.tar -C /root/mysql 3 [root@localhost mysql]# yum -y install net-tools //安装MySQL需要的依赖包 4 [root@localhost ~]# yum -y install perl-Data-Dumper //安装MySQL需要的依赖包 5 [root@localhost ~]# yum -y install perl-JSON //安装MySQL需要的依赖 6 [root@localhost ~]# rpm -Uvh mysql-community-*.rpm //升级安装MySQLView Code
1 1 准备用户 2 groupadd -r -g 3306 mysql 3 useradd -r -g 3306 -u 3306 -d /data/mysql mysql 4 2 准备数据目录,建议使用逻辑卷 5 #可选做,后面的脚本mysql_install_db可自动生成此目录 6 mkdir /data/mysql 7 chown mysql:mysql /data/mysql 8 3 准备二进制程序 9 tar xf mariadb-VERSION-linux-x86_64.tar.gz -C /usr/local 10 cd /usr/local 11 ln -sv mariadb-VERSION mysql 12 chown -R root:root /usr/local/mysql/ 13 4 准备配置文件 14 cd /usr/local/mysql 15 cp -b support-files/my-large.cnf /etc/my.cnf 16 vim /etc/my.cnf 17 #mysql语句块中添加以下三个选项 18 [mysqld] 19 datadir = /data/mysql 20 innodb_file_per_table = on #在mariadb5.5以上版的是默认值,可不加 21 skip_name_resolve = on #禁止主机名解析,建议使用 22 5 创建数据库文件 23 cd /usr/local/mysql/ 24 ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql 25 [root@centos8 mysql]#ls /data/mysql/ -l 26 total 110604 27 -rw-rw---- 1 mysql mysql 12582912 Jun 1 16:44 ibdata1 28 -rw-rw---- 1 mysql mysql 50331648 Jun 1 16:44 ib_logfile0 29 -rw-rw---- 1 mysql mysql 50331648 Jun 1 16:44 ib_logfile1 30 drwx------ 2 mysql mysql 4096 Jun 1 16:44 mysql 31 drwx------ 2 mysql mysql 4096 Jun 1 16:44 performance_schema 32 drwx------ 2 mysql mysql 4096 Jun 1 16:44 test 33 6 准备服务脚本,并启动服务 34 cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld 35 chkconfig --add mysqld 36 service mysqld start 37 #如果有对应的service 文件可以执行下面 38 cp support-files/systemd/mariadb.service /usr/lib/systemd/system/ 39 systemctl daemon-reload 40 systemctl enable --now mariadb 41 7 PATH路径 42 echo 'PATH=/user/local/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh 43 . /etc/profile.d/mysql.sh 44 8 安全初始化 45 /user/local/mysql/bin/mysql_secure_installationView Code
1 建议:内存4G以上 2 1 安装相关依赖包 3 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 4 2 做准备用户和数据目录 5 useradd -r -s /sbin/nologin -d /data/mysql mysql 6 3 准备数据库目录 7 mkdir /data/mysql 8 chown mysql.mysql /data/mysql 9 4 源码编译安装 10 编译安装说明 11 利用cmake编译,而利用传统方法,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能, 12 即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的 13 影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译 14 编译选项:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html 15 4.1 下载并解压缩源码包 16 tar xvf mariadb-10.2.18.tar.gz 17 4.2 源码编译安装mariadb 18 cd mariadb-10.2.18/ 19 cmake . \ 20 -DCMAKE_INSTALL_PREFIX=/app/mysql \ 21 -DMYSQL_DATADIR=/data/mysql/ \ 22 -DSYSCONFDIR=/etc/ \ 23 -DMYSQL_USER=mysql \ 24 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 25 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 26 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 27 -DWITH_PARTITION_STORAGE_ENGINE=1 \ 28 -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \ 29 -DWITH_DEBUG=0 \ 30 -DWITH_READLINE=1 \ 31 -DWITH_SSL=system \ 32 -DWITH_ZLIB=system \ 33 -DWITH_LIBWRAP=0 \ 34 -DENABLED_LOCAL_INFILE=1 \ 35 -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ 36 -DDEFAULT_CHARSET=utf8 \ 37 -DDEFAULT_COLLATION=utf8_general_ci 38 make && make install 39 提示:如果出错,执行rm -f CMakeCache.txt 40 5 准备环境变量 41 echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh 42 . /etc/profile.d/mysql.sh 43 6 生成数据库文件 44 cd /app/mysql/ 45 scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql 46 7 准备配置文件 47 cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf 48 8 准备启动脚本,并启动服务 49 cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld 50 chkconfig --add mysqld 51 service mysqld start 52 9 安全初始化 53 mysql_secure_installationView Code
1 启动MySQL数据库服务 2 [root@localhost ~]# systemctl start mysqld //启动服务 3 [root@localhost ~]# ps -C mysqld //查看服务进程 4 [root@localhost ~]# systemctl status mysqld //查看服务状态 5 [root@localhost ~]# ss -anptul | grep mysqld //查看服务状态 6 [root@localhost ~]# systemctl enable mysqld //设置服务开机自启