Linux CentOS7.3系统中 源码安装MariaDB数据库流程记录
1、删除CentOS7.3默认数据库配置文件
查看默认数据库配置文件
[root@localhost ~]# find -H /etc/ | grep my.c/etc/pki/tls/certs/make-dummy-cert/etc/pki/tls/certs/renew-dummy-cert/etc/my.cnf.d/etc/my.cnf.d/mysql-clients.cnf/etc/my.cnf
删除默认数据库配置文件
[root@localhost ~]# rm -rf /etc/my.cnf /etc/my.cnf.d/
再次查看默认数据库配置文件
[root@localhost ~]# find -H /etc/ | grep my.c/etc/pki/tls/certs/make-dummy-cert/etc/pki/tls/certs/renew-dummy-cert
到目前为止, 系统最小化安装自带的数据库配置文件已经删除干净了!
2、卸载系统自带mariadb-libs
查询和卸载
[root@localhost ~]# rpm -qa|grep mariadb-libs
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps
安装相关包
[root@localhost ~]# yum -y install gcc gcc-c++ cmake make perl libaio libaio-devel kernel-devel pcre-devel bison bison-devel zlib-devel openssl openssl-devel ncurses ncurses-devel libcurl-devel kernel-headers libarchive-devel boost boost-devel lsof
3、创建家目录存放软件包目录
[root@localhost ~]# mkdir /usr/local/soft
[root@localhost ~]# cd /usr/local/soft
4、 MariaDB官网复制源码包链接地址并下载解压
[root@localhost soft]# wget https://downloads.mariadb.org/interstitial/mariadb-10.2.6/source/mariadb-10.2.6.tar.gz
[root@localhost soft]# tar -zxvf mariadb-10.2.6.tar.gz
5、创建MariaDB安装目录、数据库存放目录、建立用户和目录
这里提前预定MariaDB的安装目录为/usr/local/mysql并且数据库目录为/data/mysql,这里要建立系统用户及组和数据库存放目录,并且将数据库存放目录赋予mysql用户及组权限,操作如下:
请注意特别说明一下:这里说的数据库目录是指的具体数据库存储文件, 而不是安装文件!
创建系统用户mysql并加入到mysql系统用户组
[root@localhost soft]# groupadd -r mysql
[root@localhost soft]# useradd -r -g mysql -s /sbin/nologin -d /usr/local/mysql -M mysql
以下是上面创建系统用户mysql的各个参数说明:
-r: 添加系统用户( 这里指将要被创建的系统用户mysql )
-g: 指定要创建的用户所属组( 这里指添加到新系统用户mysql到mysql系统用户组 )
-s: 新系统帐户的登录shell( /sbin/nologin 这里设置为将要被创建系统用户mysql不能用来登录系统 )
-d: 新帐户的主目录( 这里指定将要被创建的系统用户mysql的家目录为 /usr/local/mysql )
-M: 不要创建用户的主目录( 也就是说将要被创建的系统用户mysql不会在 /home 目录下创建 mysql 家目录 )
创建maria安装目录、创建数据库存放目录、改变数据库存放目录所属用户及组为 mysql:mysql
[root@localhost soft]# mkdir -p /usr/local/mysql
[root@localhost soft]# mkdir -p /data/mysql
[root@localhost soft]# chown -R mysql:mysql /data/mysql
执行编译安装
>进入到解压后的源码包文件夹
[root@localhost soft]# cd mariadb-10.2.6
> 输入编译参数
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DWITHOUT_TOKUDB=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STPRAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWIYH_READLINE=1 \ -DWIYH_SSL=system \ -DVITH_ZLIB=system \ -DWITH_LOBWRAP=0 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci
如果编译失败请删除CMakeCache.txt
[root@localhost soft]# rm -f CMakeCache.txt
让指令重新执行,否则每次读取这个文件,命令修改正确也是报错
cmake没问题,可以编译并且安装了: make && make install 时间会有点长根据个人机器吧,你可以干别的事情去!
[root@localhost soft]# make && make install
执行完成也就是安装完成了, 不过请注意, 这只是安装了, 并没有启动, 启动不成功等于没安装, 不能用也是徒劳无功不是?
6、配置MariaDB
> 进入到 MariaDB 安装目录
[root@localhost ~]# cd /usr/local/mysql/
> 使用 `mysql` 用户执行脚本, 安装数据库到数据库存放目录
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mysql
> 输出以下信息:
Installing MariaDB/MySQL system tables in '/data/mysql' ...
OKTo start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !To do so, start the server, then issue the following commands:'./bin/mysqladmin' -u root password 'new-password''./bin/mysqladmin' -u root -h localhost.localdomain password 'new-password'Alternatively you can run:'./bin/mysql_secure_installation'which will also give you the option of removing the test
databases and anonymous user created by default. This isstrongly recommended for production servers.
See the MariaDB Knowledgebase at http://mariadb.com/kb or theMySQL manual for more instructions.
You can start the MariaDB daemon with:
cd '.' ; ./bin/mysqld_safe --datadir='/data/maria'You can test the MariaDB daemon with mysql-test-run.pl
cd './mysql-test' ; perl mysql-test-run.pl
Please report any problems at http://mariadb.org/jiraThe latest information about MariaDB is available at http://mariadb.org/.You can find additional information about the MySQL part at:
http://dev.mysql.comConsider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/
复制MariaDB配置文件到/etc目录
> 进行到 MariaDB 安装目录
[root@localhost ~]# cd /usr/local/mysql/
> 拷贝support-files目录下的文件my-large.cnf到/etc目录并重命名为my.cnf
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
7、 创建启动脚本
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
8、 启动mysqld服务
[root@localhost mysql]# /etc/rc.d/init.d/mysqld start
9、配置环境变量, 以便在任何目录下输入mysql
[root@localhost mysql]# vim /etc/profile.d/mysql.sh> 输入以下内容
export PATH=$PATH:/usr/local/mysql/bin/> 保存并退出:wq> 为脚本赋于可执行权限
[root@localhost mysql]# chmod 0777 /etc/profile.d/mysql.sh> 进行mysql.sh脚本所在目录, 并执行脚本, 以立即生效环境变量
[root@localhost mysql]# source /etc/profile.d/mysql.sh
10、初始化MariaDB
> 运行MariaDB初始化脚本
[root@localhost mysql]# ./bin/mysql_secure_installation> 以下提示:
Enter current password for root (enter for none):
//输入当前root密码(没有输入)
Set root password? [Y/n] // 设置root密码?(是/否)
New password: // 输入新root密码
Re-enter new password: //确认输入root密码
Password updated successfully! //密码更新成功
By default, a MariaDB installation has an anonymous user, allowing anyoneto log into MariaDB without having to have a user account created forthem. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
默认情况下,MariaDB安装有一个匿名用户,
允许任何人登录MariaDB而他们无需创建用户帐户。
这个目的是只用于测试,安装去更平缓一些。
你应该进入前删除它们生产环境。
Remove anonymous users? [Y/n] 删除匿名用户?(是/否)
Normally, root should only be allowed to connect from 'localhost'. Thisensures that someone cannot guess at the root password from the network.
通常情况下,root只应允许从localhost连接。
这确保其他用户无法从网络猜测root密码。
Disallow root login remotely? [Y/n] 不允许root登录远程?(是/否)By default, MariaDB comes with a database named 'test' that anyone canaccess. This is also intended only for testing, and should be removed
before moving into a production environment.
默认情况下,MariaDB提供了一个名为“测试”的数据库,任何人都可以访问。
这也只用于测试,在进入生产环境之前应该被删除。
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
重新加载权限表将确保所有到目前为止所做的更改将立即生效。
Reload privilege tables now? [Y/n] 现在重新加载权限表(是/否)
All done! If you've completed all of the above steps, your MariaDBinstallation should now be secure.
全部完成!如果你已经完成了以上步骤,MariaDB安装现在应该安全。
Thanks for using MariaDB!
感谢使用MariaDB!
编译安装MariaDB后所有配置操作
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
Installing MariaDB/MySQL system tables in '/data/mysql/' ...
OK
To start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
'./bin/mysqladmin' -u root password 'new-password'
'./bin/mysqladmin' -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
'./bin/mysql_secure_installation'which will also give you the option of removing the testdatabases and anonymous user created by default. This is
strongly recommended for production servers.
See the MariaDB Knowledgebase at http://mariadb.com/kb or theMySQL manual for more instructions.
You can start the MariaDB daemon with:cd '.' ; ./bin/mysqld_safe --datadir='/data/mysql/'
You can test the MariaDB daemon with mysql-test-run.plcd './mysql-test' ; perl mysql-test-run.plPlease report any problems at http://mariadb.org/jiraThe latest information about MariaDB is available at http://mariadb.org/.You can find additional information about the MySQL part at:
http://dev.mysql.comConsider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
[root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# /etc/rc.d/init.d/mysqld start
Reloading systemd: [ OK ]
Starting mysqld (via systemctl): [ OK ]
[root@localhost mysql]# touch /etc/profile.d/mysql.sh[root@localhost mysql]# echo 'export PATH=$PATH:/usr/local/mysql/bin/' > /etc/profile.d/mysql.sh [root@localhost mysql]# chmod 0777 /etc/profile.d/mysql.sh [root@localhost mysql]# source /etc/profile.d/mysql.sh [root@localhost mysql]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.2.6-MariaDB-log Source distributionCopyright (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)]
0 条评论