二进制安装数据库MariaDB
=================================
/*
* @系统:CentOS7.9
* @描述:数据库安装的几种方法二
*/
=================================
一、获取安装包
二进制包(https://downloads.mariadb.org/interstitial/mariadb-10.4.13/bintar-linux-x86_64/mariadb-10.4.13-linux-x86_64.tar.gz/from/http%3A//mirrors.tuna.tsinghua.edu.cn/mariadb/)
#进入到安装包存放位置[root@51try ~]# cd /usr/local/src/#上传文件[root@51try src]# rz #选择上传文件[root@51try src]# lsmariadb-10.5.4-linux-x86_64.tar.gz
二、安装
1. 检查环境
[root@51try src]# ss -ntl #检查端口State Recv-Q Send-Q Local Address:Port Peer Address:PortLISTEN 0 128 *:22 *:*LISTEN 0 100 127.0.0.1:25 *:*LISTEN 0 128 [::]:22 [::]:*LISTEN 0 100 [::1]:25 [::]:*[root@51try src]# rpm -q mysqlpackage mysql is not installed[root@51try src]# rpm -q mariadbpackage mariadb is not installed[root@51try src]# getent passwd mysql #检查mysql用户是否创建
2. 创建用户和组
[root@51try src]# useradd -r -d /data/mariadb -s /sbin/nologin mysql[root@51try src]# getent passwd mysqlmysql:x:998:996::/data/mariadb:/sbin/nologin[root@51try src]# id mysqluid=998(mysql) gid=996(mysql) groups=996(mysql)
3. 解压到指定路径并创建软连接
[root@51try src]# tar xvf mariadb-10.5.4-linux-x86_64.tar.gz -C /usr/local/[root@51try src]# cd /usr/local/[root@51try local]# lsbin etc games include lib lib64 libexec mariadb-10.5.4-linux-x86_64 sbin share src[root@51try local]# ln -s mariadb-10.5.4-linux-x86_64/ mysql
4. 修改所所有者
[root@51try local]# ls -l mysql/total 176drwxrwxr-x 2 1000 1000 4096 Jun 22 11:50 bin-rw-r--r-- 1 1000 1000 17987 Jun 23 23:10 COPYING-rw-r--r-- 1 1000 1000 2354 Jun 23 23:10 CREDITS-rw-r--r-- 1 1000 1000 8245 Jun 23 23:10 EXCEPTIONS-CLIENTdrwxrwxr-x 3 1000 1000 19 Jun 23 23:39 include-rw-r--r-- 1 1000 1000 8782 Jun 23 23:10 INSTALL-BINARYdrwxrwxr-x 5 1000 1000 275 Jun 22 11:50 libdrwxrwxr-x 4 1000 1000 30 Jun 23 23:39 mandrwxrwxr-x 9 1000 1000 4096 Jun 23 23:39 mysql-test-rw-r--r-- 1 1000 1000 2973 Jun 23 23:10 README.md-rw-r--r-- 1 1000 1000 19520 Jun 23 23:10 README-wsrepdrwxrwxr-x 2 1000 1000 56 Jun 23 23:39 scriptsdrwxrwxr-x 31 1000 1000 4096 Jun 23 23:39 sharedrwxrwxr-x 4 1000 1000 4096 Jun 23 23:39 sql-benchdrwxrwxr-x 3 1000 1000 165 Jun 23 23:39 support-files-rw-r--r-- 1 1000 1000 86263 Jun 23 23:10 THIRDPARTY[root@51try local]# chown -R root:root mysql/[root@51try local]# ls -l mysql/total 176drwxrwxr-x 2 root root 4096 Jun 22 11:50 bin-rw-r--r-- 1 root root 17987 Jun 23 23:10 COPYING-rw-r--r-- 1 root root 2354 Jun 23 23:10 CREDITS-rw-r--r-- 1 root root 8245 Jun 23 23:10 EXCEPTIONS-CLIENTdrwxrwxr-x 3 root root 19 Jun 23 23:39 include-rw-r--r-- 1 root root 8782 Jun 23 23:10 INSTALL-BINARYdrwxrwxr-x 5 root root 275 Jun 22 11:50 libdrwxrwxr-x 4 root root 30 Jun 23 23:39 mandrwxrwxr-x 9 root root 4096 Jun 23 23:39 mysql-test-rw-r--r-- 1 root root 2973 Jun 23 23:10 README.md-rw-r--r-- 1 root root 19520 Jun 23 23:10 README-wsrepdrwxrwxr-x 2 root root 56 Jun 23 23:39 scriptsdrwxrwxr-x 31 root root 4096 Jun 23 23:39 sharedrwxrwxr-x 4 root root 4096 Jun 23 23:39 sql-benchdrwxrwxr-x 3 root root 165 Jun 23 23:39 support-files-rw-r--r-- 1 root root 86263 Jun 23 23:10 THIRDPARTY
5. 添加环境变量
[root@51try ~]# echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh[root@51try ~]# . /etc/profile.d/mysql.sh[root@51try ~]# echo $PATH/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
三、配置
1. 修改数据库存放位置(可以新增一个磁盘存放)
[root@51try ~]# mkdir /data/mariadb2. 修改属组
[root@51try ~]# chown -R mysql.mysql /data/mariadb3. 修改权限(为了安全需要修改权限为770)
[root@51try ~]# chmod 770 /data/mariadb四、初始化
1. 进入到二进制程序目录
[root@51try ~]# cd /usr/local/mysql/2. 执行初始化脚本文件(切记不要进入到进脚本存放位置的文件夹)
[root@51try mysql]# scripts/mariadb-install-db --datadir=/data/mariadb --user=mysqlInstalling MariaDB/MySQL system tables in '/data/mariadb' ...OK #出现这个就证明没问题了(有些可能只有mysql_install_db,一样一样的)
3. 修改配置文件(因为没有找到提供的配置文件,所以直接使用原有的)
[root@51try mysql]# cd[root@51try ~]# vim /etc/my.cnf================================[mysqld]datadir=/data/mariadbsocket=/usr/local/mysql/mysql.sock[client]port=3306socket=/usr/local/mysql/mysql.sock
4. 设置开机自启动
[root@51try ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mariadb #拷贝启动脚本[root@51try ~]# chkconfig --list #查询启动服务列表Note: This output shows SysV services only and does not include nativesystemd services. SysV configuration data might be overridden by nativesystemd configuration.If you want to list systemd services use 'systemctl list-unit-files'.To see services enabled on particular target use'systemctl list-dependencies [target]'.netconsole :off 1:off 2:off 3:off 4:off 5:off 6:offnetwork :off 1:off 2:on 3:on 4:on 5:on 6:off[root@51try ~]# chkconfig --add mariadb #添加启动服务[root@51try ~]# chkconfig --listNote: This output shows SysV services only and does not include nativesystemd services. SysV configuration data might be overridden by nativesystemd configuration.If you want to list systemd services use 'systemctl list-unit-files'.To see services enabled on particular target use'systemctl list-dependencies [target]'.mariadb :off 1:off 2:on 3:on 4:on 5:on 6:offnetconsole :off 1:off 2:off 3:off 4:off 5:off 6:offnetwork :off 1:off 2:on 3:on 4:on 5:on 6:off
5. 设置权限
[root@51try ~]# setfacl -R -m u:mysql:rwx /usr/local/mysql/ #授予mysql用户读写执行权限#注:也可以将socket文件放到有执行权限的文件夹中
6. 添加服务
[root@51try ~]# systemctl start mariadb[root@51try ~]# ss -nutlNetid State Recv-Q Send-Q Local Address:Port Peer Address:Porttcp LISTEN 0 128 *:22 *:*tcp LISTEN 0 100 127.0.0.1:25 *:*tcp LISTEN 0 128 [::]:22 [::]:*tcp LISTEN 0 100 [::1]:25 [::]:*tcp LISTEN 0 80 [::]:3306 [::]:*
7. 运行安全脚本
[root@51try ~]# mysql_secure_installation#执行后出现报错,需要修改socket路径[root@51try ~]# /usr/local/mysql/bin/mysqld --print-defaults #查看编译路径/usr/local/mysql/bin/mysqld would have been started with the following arguments:--datadir=/data/mariadb --socket=/tmp/mysql.sock --symbolic-links=0#解决方案[root@51try ~]# vim /etc/my.cnf================[mysqld]datadir=/data/mariadbsocket=/tmp/mysql.sock# socket=/usr/local/mysql/mysql.sock[client]port=3306socket=/tmp/mysql.sock# socket=/usr/local/mysql/mysql.sock[root@51try ~]# systemctl restart mariadb #重启服务[root@51try ~]# mysql_secure_installation=======================================Enter current password for root (enter for none):OK, successfully used password, moving on...Setting the root password or using the unix_socket ensures that nobodycan log into the MariaDB root user without the proper authorisation.You already have your root account protected, so you can safely answer 'n'.Switch to unix_socket authentication [Y/n] yEnabled successfully!Reloading privilege tables..... Success!You already have your root account protected, so you can safely answer 'n'.Change the root password? [Y/n] y #设置密码New password: root1234Re-enter new password: root1234Password updated successfully!Reloading privilege tables..... Success!Remove anonymous users? [Y/n] y #删除匿名用户... Success!Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] n #是否禁用root用户远程登录... skipping.By default, MariaDB comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n] y #删除测试数据库- Dropping test database...... Success!- Removing privileges on test database...... Success!Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.Reload privilege tables now? [Y/n] y #重载... Success!Cleaning up...All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure.Thanks for using MariaDB!
8. 设置开机启动
[root@51try ~]# /sbin/chkconfig mariadb on五、连接数据库
[root@51try ~]# mysql -uroot -p #切记不要在-p后面加密码,这样等于明文Enter password:MariaDB [(none)]> status --查看一下信息--------------mysql Ver 15.1 Distrib 10.5.4-MariaDB, for Linux (x86_64) using readline 5.1MariaDB [(none)]> \q --退出数据库Bye
未完待续......
来源 https://mp.weixin.qq.com/s/vKHLvdZUMUhQ62G8-XayeQ
相关文章