MySQL安装


安装前准备

基本需求
    采用CentOS7系统搭建MySQL服务器
    关闭防火墙
    关闭SELinux
    软件MySQL-5.7.17-1

方式安装(RPM,二进制,源码):

  RPM安装方:

 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                  //客户端应用程序的共享兼容库
 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/mysql
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         //升级安装MySQL

  通用二进制安装(mariadb):

 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_installation

  源代码安装(mariadb):

 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_installation

启动数据库服务器

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        //设置服务开机自启