一、安装步骤
安装准备
1.卸载已经有的maria程序
2.创建系统账户mysql
安装二进制文件
3.解压二进制文件到二进制程序的目标路径
安装非二进制文件
4.配置文件创建
5.数据库文件创建
6.日志文件创建
7.服务脚本创建
安装后的操作
8.修改PATH路径
9.启动mysql服务
10.安全脚本运行
二、安装详解
1.卸载已经有的maria程序
#查看是否已安装maria程序或mysql程序
rpm -qa mysql*
rpm -qa maria*
#如果提示有
rpm -e `rpm -qa mysql*`
或 rpm -e `rpm -qa maria*`
2.创建系统账户mysql
#创建系统账户
useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql
#解释
-r:指定创建系统用户
默认系统用户没有家目录
-m:为新用户创建家目录
-d:指定家目录路径
-s:指定新用户的shell
mysql:用户名
家目录用来放mysql管理的数据文件
且家目录的权限的直接创建好属于 mysql的;不用再改权限
3.解压二进制文件到二进制程序的目标路径
在二进制文件编译的时候已经定义好了安装位置在/usr/local/mysql下
但是我在此选择安装到/usr/local/mysql/mariadb-10下
可以使用软链接的方式
创建真实安装路径的软链接为/usr/local/mysql
但是此时,真实安装路径就不能放到与/usr/local/mysql有关的目录下
二进制文件资源
链接:http://pan.baidu.com/s/1boSlXTl 密码:unzn
#此文件是已经编译好的二进制文件,解压时尽量直接解压到目标二进制文件的路径下
mkdir /usr/local/mysql
tar -xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/mysql
mv /usr/local/mysql/mariadb-10.2.8-linux-x86_64/ maria-10
4.配置文件创建
#配置文件都在解压后的support-files目录下;.cnf文件
#有很多中,可以根据不同使用场景选择
my-innodb-heavy-4G.cnf、my-small.cnf、my-large.cnf
my-huge.cnf my-medium.cnf
#我选择my-huge.cnf 重量级的
mkdir /etc/mysql
cp /usr/local/mysql/maria-10/support-files/my-huge.cnf /etc/mysql/my.cnf
#修改配置文件
vim /etc/mysql/my.cnf
在[mysqld]下方添加以下3行
#数据文件位置(必须)
datadir = /app/mysqldb
#实现一张表一个文件,可以便于管理(非必须)
innodb_file_per_table = on
#实现 关闭名字的反向解析,可以优化速度(非必须)
skip_name_resolve = on
5.数据库文件创建
可以用脚本实现
#注意
#在执行脚本时一定要在/usr/local/mysql/maria-10/路径下执行
scripts/mysql_install_db 命令,不能使用./scripts/mysql_install_db
#执行
cd /usr/local/mysql/maria-10/
scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb
6.日志文件创建
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown mysql:mysql -R /var/log/mariadb
7.服务脚本创建
cp /usr/local/mysql/maria-10/support-files/mysql.server /etc/init.d/mysqld
8.修改PATH路径
vim /etc/profile.d/newvar.sh
#添加下面这一行
PATH=/usr/local/mysql/maria-10/bin/:$PATH
9.启动mysql服务
#因为mysqld的服务脚本是复制到了 /etc/init.d/目录下
#所以不能使用centos7.3的systemctl命令启动服务
#要使用service命令(centos7.3可以兼容centos的6命令)
service mysqld start
10.安全脚本运行
#mysql-server的安全隐患
#允许匿名用户登陆(权限小)
#任意此主机的用户都可以登陆并管理数据库(权限较大)
#所以有一个安全脚本需要运行
#路径在
/usr/local/mysql/maria-10/bin/mysql_secure_installation
注意:
在mysql_secure_installation脚本中,所有的有关脚本路径写的是/usr/local/mysql/bin/
但是我的安装路径是/usr/local/mysql/maria-10/bin/;
所以需要修改mysql_secure_installation脚本
vim bin/mysql_secure_installation
%s#/usr/local/mysql/bin/#/usr/local/mysql/maria-10/bin/#g
注意:/etc/init.d/mysqld脚本中同样存在上述问题
vim /etc/init.d/mysqld
%s#/usr/local/mysql#/usr/local/mysql/maria-10#g
运行安全脚本
$] mysql_secure_installation
#输入root密码,如果没有直接跳过
Enter current password for root (enter for none):
#是否设置root密码;y
然后根据提示输入新的root密码
Set root password? [Y/n]
#是否删除匿名用户;y
Remove anonymous users? [Y/n]
#是否禁止root用户远程登录;n
Disallow root login remotely? [Y/n]
#是否删除test数据库;n
Remove test database and access to it?
#是否立即生效;y
Reload privilege tables now?