MySQL数据库是一款深受欢迎的开源领域的重要的关系型数据库,由瑞典MySQL AB公司开发与维护,2006年,Mysql AB公司被SUN公司收购, 2008年,SUN公司又被数据库龙头公司甲骨文(oracle公司)收购,因此,Mysql数据库目前属于oracle公司。MySQL数据库目前分为社区版(Community Server)和企业版(Enterprise),它们最重要的区别在于:社区版是自由下载而且完全免费的,但是官方不提供任何技术支持,适用于大多数普通用户;企业版是收费的,不能在线下载,它提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。本文就介绍Linux系统下MySQL社区版的几种安装方式。
RPM/YUM方式安装Mysql
1.首先去官网https://dev.mysql.com/downloads/repo/yum/下载mysql的yum源并上传至服务器上。或者使用以下命令进行下载:
- wget http://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
2.安装mysql的yum源。
- rpm -ivh mysql80-community-release-el7-3.noarch.rpm
3.yum安装mysql。
- yum install mysql-server -y
4.安装完成后启动mysql。
- systemctl start mysqld
此外,你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
- yum install mariadb-server -y
二进制方式安装Mysql
1.首先去官网https://dev.mysql.com/downloads/mysql/下载mysql的Linux Generic版本并上传至服务器上。
2.添加mysql用户和用户组,数据库安装在此用户下。
- # groupadd mysql
- # useradd -g mysql mysql
3.解压二进制安装包,假设安装包放置在/home/mysql下,并对解压后的mysql目录加一个符合链接“mysql”,这样对mysql目录的操作会比较方便。
- # cd /home/mysql/
- # tar -xvJf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
- # ln -s mysql-8.0.19-linux-glibc2.12-x86_64 mysql
4.创建mysql数据目录,并修改目录权限。
- # mkdir /home/mysql/data
- # chown -R mysql.mysql /home/mysql/data/
5.初始化数据库。会生成一个默认随机密码。
- # /home/mysql/mysql/bin/mysqld --initialize --user=mysql --basedir=/home/mysql/mysql --datadir=/home/mysql/data
6.配置mysql参数文件 /etc/my.cnf并赋予mysql权限。
- # vi /etc/my.cnf
- [mysqld]
- basedir=/home/mysql/mysql
- datadir=/home/mysql/data
- # chown mysql.mysql /etc/my.cnf
7.设置mysql启动文件并启动mysql。
- # cp /home/mysql/mysql/support-files/mysql.server /etc/init.d/mysqld
- # service mysqld start
- Starting MySQL.Logging to '/home/mysql/data/linux-52-122.err'.
- .. SUCCESS!
8.添加mysql环境变量并生效。
- # echo "export PATH=$PATH:/home/mysql/mysql/bin">>/etc/profile
- # source /etc/profile
9.连接mysql,输入之前生成的随机密码登录后修改密码并生效。
- # mysql -u root -p
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 10
- Server version: 8.0.19
- Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql> alter user 'root'@'localhost' identified by '123456';
- Query OK, 0 rows affected (0.00 sec)
- mysql> flush privileges;
- Query OK, 0 rows affected (0.00 sec)
- mysql> exit
- Bye
源码编译安装Mysql
1.安装源码包和安装二进制包有点类似,首先去官网https://dev.mysql.com/downloads/mysql/下载mysql的source code并上传至服务器上。或者使用以下命令进行下载:
- # wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.29.tar.gz
2.创建mysql群组和用户名。同时为安全起见可禁止直接以mysql用户身份登录系统。
- # groupadd mysql
- # useradd -r -g mysql -s /bin/false mysql
3.创建mysql安装目录和数据目录,并修改目录权限。
- # mkdir -p /usr/local/mysql
- # mkdir -p /data/mysql
- # chown -R mysql.mysql /usr/local/mysql/
- # chown -R mysql.mysql /data/mysql/
4.解压mysql源码包。
- # tar -xzvf mysql-boost-5.7.29.tar.gz
5.编译安装mysql。如果没有cmake工具先安装一下。
- # yum install cmake -y
- # cd mysql-5.7.29
- cmake . \
- -DWITH_BOOST=/root/mysql-5.7.29/boost \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DMYSQL_DATADIR=/data/mysql \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
- -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
- -DWITH_PARTITION_STORAGE_ENGINE=1 \
- -DWITH_DEBUG=1 \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_general_ci \
- -DFORCE_INSOURCE_BUILD=1 \
- -DDOWNLOAD_BOOST=1 \
- -DWITH_SSL=system
- # make && make install
关于编译参数的含义可以参考官方文档说明:
https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html
6.初始化数据库。并且会生成一个默认随机密码。
7.设置启动脚本并启动mysql。
- # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
- # systemctl start mysqld
8.添加mysql环境变量并生效。
- # echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
- # source /etc/profile
9.登录数据库,用刚才生成的默认密码进行登录后进行密码更改。
10.更改密码后登录成功。
总结