1 安装前准备工作
1.1 清除本机 mysql 或 mariadb 残留rpm -qa | grep mariadb mariadb-libs-5.5.56-2.el7.x86_64rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64find / -name mysql /etc/selinux/targeted/active/modules/100/mysql /usr/lib64/mysqlrm -rf /etc/selinux/targeted/active/modules/100/mysqlrm -rf /usr/lib64/mysql
1.2 自定义数据存放目录
mkdir -pv /data/mysql
1.3 在操作系统默认 root 组下创建 mysql 用户
useradd -r mysql
1.4 为数据文件目录赋予 mysql 用户权限
chown root:mysql /data/mysql
2 下载并安装压缩二进制 mariadb
2.1 前往 https://downloads.mariadb.org/ 下载最新稳定版 mariadb,本例中为 10.2.10 # curl 的 -O 参数是根据 url 中的文件名命名下载后的文件,这里下载后的文件名是 mariadb-10.2.10-linux-systemd-x86_64.tar.gzcurl -O https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.2.10/bintar-linux-systemd-x86_64/mariadb-10.2.10-linux-systemd-x86_64.tar.gz
2.2 解压安装 MariaDB /usr/local 文件夹下(一般选择该文件夹存放解压运行的应用)
tar xvf mariadb-10.2.10-linux-systemd-x86_64.tar.gz -C /usr/local
2.3 安装目录默认必须为 /usr/local/mysql 因此使用软连接改变目录名称
cd /usr/local/ln -sv mariadb-10.2.10-linux-systemd-x86_64/ mysql
2.4 向安装目录赋予 mysql 用户访问权限
cd /usr/local/mysql/chown -R root:mysql ./*
2.5 拷贝官方配置文件至系统配置文件目录下并修改数据文件夹位置
cp support-files/my-large.cnf /etc/my.cnfvi /etc/my.cnf [mysqld] datadir = /data/mysql #指明数据库文件存储路径 innodb_file_per_table = on #每个表数据一个单独文件 skip_name_resolve = on #跳过使用IP登陆数据库时反解域名的过程
2.6 初始化数据库
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
2.7 向操作系统服务配置文件夹中拷贝安装文件夹 support-files 目录下的 mariadb 服务启动配置文件
cp support-files/mysql.server /etc/init.d/mysqld
2.8 在服务列表中添加,让 systemctl 能够发现该服务
chkconfig --add mysqld
2.9 设置开机启动
systemctl enable mysqld
3 配置操作系统安全级别
3.1 打开3306 tcp端口并刷新策略firewall-cmd --permanent --zone=public --add-port=3306/tcpfirewall-cmd --reload
3.2 使用 vi 打开 /etc/selinux/config 配置文件,设置 SELINUX=permissive 或者键入命令 semanage permissive -a mysqld_t
3.3 使用 reboot 命令重启服务器使 SELinux 安全级别更改生效 3.4 查看 3306 端口是否打开ss -nutl
4 使用 root 用户登录后设置 root 密码(本以为需要 mysqladmin 先设置密码的,发现解压缩安装不需要执行 mysqladmin)
4.1 进入 mysql 安装目录cd /usr/local/mysql
4.2 使用 mysql 命令登录
mysql -uroot -p
4.3 切换到 mysql 数据库
MariaDB [(none)]> use mysql;
4.4 更新 root 用户密码并刷新
MariaDB [(none)]> update user set password = password('新的密码') where user = 'root';MariaDB [(none)]> flush privileges;
补充说明:
1 加压后的 MariaDB 目录说明 [root mysql]# ll total 184 drwxr-xr-x. 2 root mysql 4096 Apr 27 2017 bin -rw-r--r--. 1 root mysql 17987 Oct 30 04:10 COPYING -rw-r--r--. 1 root mysql 86263 Oct 30 04:10 COPYING.thirdparty -rw-r--r--. 1 root mysql 2275 Oct 30 04:10 CREDITS drwxrwxr-x. 3 root mysql 18 Oct 30 17:46 data drwxrwxr-x. 2 root mysql 81 Oct 30 17:45 docs -rw-r--r--. 1 root mysql 8245 Oct 30 04:10 EXCEPTIONS-CLIENT drwxrwxr-x. 3 root mysql 19 Oct 30 17:45 include -rw-r--r--. 1 root mysql 8694 Oct 30 04:10 INSTALL-BINARY drwxr-xr-x. 4 root mysql 4096 May 2 2017 lib drwxrwxr-x. 4 root mysql 30 Oct 30 17:46 man drwxrwxr-x. 11 root mysql 4096 Oct 30 17:45 mysql-test -rw-r--r--. 1 root mysql 2374 Oct 30 04:10 README.md -rw-r--r--. 1 root mysql 19510 Oct 30 04:10 README-wsrep drwxrwxr-x. 2 root mysql 30 Oct 30 17:45 scripts drwxrwxr-x. 30 root mysql 4096 Oct 30 17:45 share drwxrwxr-x. 4 root mysql 4096 Oct 30 17:45 sql-bench drwxrwxr-x. 4 root mysql 4096 Oct 30 17:45 support-filesbin: 可执行的二进制程序的存放目录,客户端程序mysql就位于这个目录下。
COPYING:版权以及开源信息 COPYING.thirdparty: 版权信息 CREDITS:关于MariaDB软件基金会的一些相关信息,里面还有国内的互联网巨头阿里 data:默认的数据库存放目录,如果我们一开始没有指定数据库存放目录的话,那就会被存储到这个位置。 EXCEPTIONS-CLIENT:例外情况 include:MariaDB 所需要的一些程序文件 INSTALL-BINARY: 安装帮助文档,可以详细阅读,对安装数据库有很大的帮助 lib: 软件运行所需要的库文件 man:软件的帮助文档 mysql-test: 数据库的测试组件 scipts:mysql初始化初始化时要用到的脚本文件,通读一下脚本,可以了解Mysql 的安装过程 share: 共享的文件内容 support-files: mysql 正常运行所需要的配置文件或者文档,这一点很重要,如果我们要自定义配置文件的话,就需要参考这里面的配置文件来进行定义。 2 通用二进制格式安装的服务程序其配置文件查找次序: /etc/my.cnf --> /etc/mysql/my.cnf --> --default-extra-file=/PATH/TO/CONF_FILE --> ~/.my.cnf 3 如配置文件不是默认的/etc/my.cnf,需要在初始化数据库时指明配置文件路径 ./scripts/mysql_install_db --defaults-file=配置文件路径 4 创建 mysql 的系统数据库,系统提供了一个脚本,我们直接可以利用它来生成 mysql 的系统数据库,这个脚本就在 scripts 下,但是不要进去运行脚本,否则会报错,必须在 /usr/local/mysql/ 下运行脚本