Centos 7中设置二进制数据库mariadb最新版本
发布时间:2022-08-23 16:26 所属栏目:115 来源:互联网
导读:Centos 7中设置二进制数据库mariadb最新版本: 一:实验背景; 在马哥教育学习到MYSQL这章时,留作业练习的实验 二:实验准备; 1、先检查虚拟机上是否存在mariadb: rpm -qa mariadb*,若有的话,则卸载; 2、通过yum info mariadb查找到mariadb的官网,进
Centos 7中设置二进制数据库mariadb最新版本: 一:实验背景; 在马哥教育学习到MYSQL这章时,留作业练习的实验 二:实验准备; 1、先检查虚拟机上是否存在mariadb: rpm -qa mariadb*,若有的话,则卸载; 2、通过yum info mariadb查找到mariadb的官网,进去下载mariadb的最新版本mariadb-10.2.9-linux-x86_64.tar.gz; 三:实验步骤; 1、创建mysql用户; [root@localhost ~]# getent passwd mysql #查一下该用户是否存在,不存在的话,就执行下面的代码创建 [root@localhost ~]# useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql #创建mysql账户并指明家目录(可以自定义),为了安全起见将shell设为nologin 2、将下载的最新安装包拷进linux虚拟机,并解压缩; [root@localhost ~]# rz #用rz将windows下下载好的安装包拷进linux [root@localhost ~]# tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/ #解压缩(因为是已经编译好的二进制文件,所以目录已经被制定好,必须放在/usr/local,故加上-C解压缩到指定目录) [root@localhost ~]# cd /usr/local/ #进到这个目录下面 [root@localhost /usr/local]# ln -s mariadb-10.2.8-linux-x86_64/ mysql #创建软链接(因为名字必须是mysql) 3、创建mysql的配置文件; [root@localhost /usr/local]# cd /usr/local/mysql/ #进入到刚创建的软链接目录下 [root@localhost /usr/local/mysql]# mkdir /etc/mysql/ # 因为编译时默认配置文件放在/etc/mysql下,所以创建一个mysql的目录 [root@localhost /usr/local/mysql]# ls support-files/ #配置文件已经被准备好,放在了/usr/local/mysql/support-files目录下 binary-configure mysqld_multi.server magic mysql-log-rotate my-huge.cnf mysql.server my-innodb-heavy-4G.cnf policy my-large.cnf wsrep.cnf my-medium.cnf wsrep_notify my-small.cnf [root@localhost /usr/local/mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf #有好几个,选择其中一个复制到特定目录下/etc/mysql/并改名为特定的配置文件名my.cnf [root@localhost /usr/local/mysql]# vim /etc/mysql/my.cnf #编辑配置文件 [mysqld] #在[mysqld]这一项下面加上下面三行,第一行是必须要加的,后面两行是为了方便管理、性能优化的,可有可无 datadir = /app/mysqldb #指明数据库存放路径 innodb_file_per_table = on #用的是innodb引擎,并且使每个表单独一个文件,方便以后复制单表时方便 skip_name_resolve = on #为了加速访问速度,忽略反向解析 4、创建系统数据库; #数据库文件已经被准备好的,放置在/usr/local/mysql/scripts/mysql_install_db里 [root@localhost /usr/local/mysql]# scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb #执行上条命令时,只能在/usr/local/mysql下执行,而不能进入到scripts下执行,会报错的 [root@localhost /usr/local/mysql]# ls /app/mysqldb/ # 验证一下数据库是否生成 aria_log.00000001 ib_logfile0 multi-master.info mysql-bin.000003 aria_log_control ib_logfile1 mysql mysql-bin.000004 ib_buffer_pool ibtmp1 mysql-bin.000001 mysql-bin.index ibdata1 localhost.localdomain.pid mysql-bin.000002 performance_schema [root@localhost /usr/local/mysql]# 5、尝试启动mysql服务; [root@localhost /usr/local/mysql]# cp support-files/mysql.server /etc/init.d/mysqld # 将服务脚本放在特定的目录下 [root@localhost /usr/local/mysql]# chkconfig --list mysqld # 查看一下mysqld服务是否生成,没生成的话就用下面的命令加上 [root@localhost /usr/local/mysql]# chkconfig --add mysqld [root@localhost /usr/local/mysql]# service mysqld start # 我的这个报错是因为,我为了做实验演示,特意将原有的mysql用户删除重建,导致/var/log/mariadb目录没有了属主属组 Restarting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. [FAILED] [root@localhost /usr/local]# chown -R mysql:mysql /var/log/mariadb/ #将/var/log/mariadb/及其子文件的属主属组都换成mysql 6、创建日志文件; 我的原本/var/log/mariadb/目录文件已经存在(才会出现第5中的问题)所以不用创建,没有这个日志文件的话,在第5步启动服务时会报错说没有找到日志文件/var/log/mariadb,我们只需要创建出来就好了; [root@localhost /usr/local/mysql]# mkdir /var/log/mariadb/ #先创建出日志文件目录 [root@localhost /usr/local/mysql]# chown mysql /var/log/mariadb/ #这一步是原先没有/var/log/mariadb/这个文件,所以创建后需要将其所属人换成mysql,这样以后mysql就有权限在其下创建或删除子文件 [root@localhost /usr/local/mysql]# service mysqld start #再重启服务 Starting mysqld (via systemctl): [ OK ] [root@localhost /usr/local/mysql]# 7、添加PATH变量; #因为mysql被放在/usr/local/mysql/bin下,所以可以将其路径写到配置文件中,使用时就不用写绝对路径了 [root@localhost /usr/local/mysql]# vim /etc/profile.d/mysql.sh PATH=/usr/local/mysql/bin:$PATH [root@localhost /usr/local/mysql]# . /etc/profile.d/mysql.sh #使其生效 [root@localhost /usr/local/mysql]# echo $PATH /usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@localhost /usr/local/mysql]# 四:实验测试; [root@localhost /usr/local/mysql]# mysql -uroot -p #因为我们设置过口令了,所以就要加上密码登录,可以“-p密码”,也可以直接 -p 后回车再输入密码,后者比较安全 Enter password: #输入密码 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 24 Server version: 10.2.9-MariaDB-log MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases; #显示数据库文件信息,而且从“[(none)]”看出现在我们并没有在哪个特定的数据库中 +--------------------+ | Database | +--------------------+ | #mysql50#.mozilla | | information_schema | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.01 sec) 五:实验总结; 这个实验其实步骤很简单,主要是将代码敲对就OK了,在试验中,有的同学在配置文件my.conf中的那三行代码打错了,导致了一些问题出现,根据步骤一步一不做,然后出错的时候就按照步骤去排查。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读