目录
mariadb下载
目前最新版本为:10.3.1,稳定版本为:10.2.8
本次实验使用的版本为:稳定版10.2.8
0. 环境准备
[root@centos7 mysql]# rpm -qa libaio <==判断系统安装这两个lib包,如果不按爪给你这两个lib包在初始化是会报错的
libaio-0.3.109-13.el7.x86_64
libaio-0.3.109-13.el7.i686
[root@centos7 dbdata]# yum install -y libaio.so.1
[root@centos7 mysql]# yum install -y libaio.x86_64 libaio-devel.x86_64
1. 准备用户
mariadb和mysql运行使用的用户都是mysql,所以需要创建mysql用户
[root@centos7 ~]# getent passwd mysql <==mysql用户不存在
[root@centos7 ~]# useradd -r -m -d /app/dbdata -s /sbin/nologin mysql <==创建mysql用户,指定家目录为/app/dbdata,且为系统用户,默认shell为/sbin/nologin无法登陆
[root@centos7 ~]# getent passwd mysql <==确认用户mysql信息
mysql:x:997:995::/app/dbdata:/sbin/nologin
[root@centos7 ~]# ll /app/dbdata/ -d <==查看mysql家目录
drwx------. 2 mysql mysql 62 Sep 25 09:43 /app/dbdata/
2. 准备二进制程序
[root@centos7 app]# tar xf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/ <==解压mariadb到/usr/local目录下
[root@centos7 app]# cd /usr/local/ <==切换到/usr/local目录
[root@centos7 local]# ls
bin games lib libexec sbin src
etc include lib64 mariadb-10.2.8-linux-x86_64 share
[root@centos7 local]# ln -sv mariadb-10.2.8-linux-x86_64/ mysql <==创建软链接,名字必须交mysql
‘mysql’ -> ‘mariadb-10.2.8-linux-x86_64/’
[root@centos7 local]# ls <==确认软链接已经别创建
bin games lib libexec mysql share
etc include lib64 mariadb-10.2.8-linux-x86_64 sbin src
3. 准备配置文件
- 配置格式:类ini格式,各程序由单个配置文件提供配[prog_name]
- 配置文件查找次序:后面覆盖前面的配置文件
- /etc/my.cnf –> /etc/mysql/my.cnf –> –default-extrafile=/PATH/TO/CONF_FILE –> ~/.my.cnf
[root@centos7 local]# mkdir /etc/mysql <==创建mysql目录
[root@centos7 mysql]# cp /usr/local/mariadb-10.2.8-linux-x86_64/support-files/my-huge.cnf /etc/mysql/my.cnf <==cpmysql配置文件
[root@centos7 mysql]# vim /etc/mysql/my.cnf <==编辑配置文件,添加一下三行,在[mysqld]后面
[mysqld]
datadir = /app/dbdata <==指定数据库文件路径,必须指定为/app/dbdata
innodb_file_per_table = on <==使用innodb引擎,每个表都是一个独立的文件
skip_name_resolve = on <==禁止主机名解析
4. 创建数据库文件
[root@centos7 ~]# ls /app/dbdata/ <==没有文件
[root@centos7 mysql]# ./scripts/mysql_install_db --help <==查看此脚本的帮助信息,此脚本是用于创建数据库文件的脚本,创建数据库文件相当于初始化
Usage: ./scripts/mysql_install_db [OPTIONS]
--auth-root-authentication-method=normal|socket
Chooses the authentication method for the created initial
root user. The default is 'normal' to creates a root user
that can login without password, which can be insecure.
The alternative 'socket&