1. MySQL(马云生气了)
1.1 MySQL 的三大主要分支
mysql
mariadb
percona Server
1.2 官方网址
https://www.mysql.com/
http://mariadb.org/
https://www.percona.com
1.3 官方文档
没事就多逛逛官方文档。。就当去。。。。某东,某宝买东西,逛逛
https://dev.mysql.com/doc/
https://mariadb.com/kb/en/
https://www.percona.com/software/mysql-database/percona-server
2. MySQL安装和基本使用
2.1 安装方式
2.1.1 源代码:编译安装
1. 安装相关依赖包
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boostdevel
gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssldevel
libevent-devel libaio-devel # 自行解决相关依赖包问题
2. 准备数据库目录
mkdir /data/mysql
chown mysql.mysql /data/mysql
3. 源码编译安装
利用cmake编译,而利用传统方法,cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译
编译选项:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
4. 下载并解压缩源码包
tar xvf mariadb-VERSION.tar.gz
5. 源码编译安装mariadb
cd mariadb-10.2.18/
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \ #习惯性将源码编译放在此路径
-DMYSQL_DATADIR=/data/mysql/ \ #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 \ #sock文件路径
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
提示:如果出错,执行rm -f CMakeCache.txt
6. 准备环境变量
echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
7. 生成数据库文件
cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
8. 准备配置文件
cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
9. 准备启动脚本,并启动服务
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start
10. 安全初始化
mysql_secure_installation
2.1.2 二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用
通用二进制格式安装过程
1. 准备用户
groupadd -r -g 306 mysql
useradd -r -g 306 -u 306 –d /data/mysql mysql
2. 准备数据目录,建议使用逻辑卷
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. 准备配置文件
cp -b support-files/my-large.cnf /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
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 #source使变量生效
8. 安全初始化
/user/local/mysql/bin/mysql_secure_installation
2.1.3 程序包管理器管理的程序包-不在详述
CentOS 安装光盘
项目官方:https://downloads.mariadb.org/mariadb/repositories/
国内镜像:https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/
RPM包安装MySQL
CentOS 7 以上版:安装光盘直接提供
mariadb-server 服务器包
mariadb 客户端工具包
CentOS 6:
mysql-server 服务器包
mysql 客户端工具包