CentOS 7 安装MariaDB
MariaDB与 MySQL 区别:
MySQL创始人将 MySQL卖给了 SUN 公司。此后,SUN被甲骨文收购,MySQL的所有权也落入Oracle。有可能面临收费和版权等问题。所以MySQL创始人又在原来的mysql分支上创建了 MariaDB 。支持mysql功能和操作方式并做了扩展。
MariaDB 官网下载地址: https://downloads.mariadb.org/
安装前准备
全部删除MySQL/MariaDB
MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;
rpm -qa | grep MariaDB
rpm -qa | grep mariadb
如果存在(删不了的话,就一个一个删),使用
rpm -e --nodeps mariadb-libs-*
二进制包安装
1、添加系统用户:mysql
useradd -M -s /sbin/nologin mysql
id mysql
2、解压包到 /usr/local/,软连接为 mysql
tar xf mariadb-10.2.37-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -s mariadb-10.2.37-linux-x86_64/ mysql
chown -R root. mysql/
cd /usr/local/mysql
创建数据库存储目录
mkdir /mysqldata
3、添加到系统启动服务,环境变量,查看配置文件生效顺序,并修改配置文件。
cp support-files/mysql.server /etc/init.d/mysqld
ll /etc/init.d/mysqld
-rwxr-xr-x 1 root root 12559 Apr 20 18:12 /etc/init.d/mysqld
# 备注,确保其有执行权限
chkconfig --add mysqld
chkconfig --list mysqld
cp support-files/my-large.cnf /etc/my.cnf
# 备注:support-files 目录下是其配置文件,分为了不同的级别。
vi /etc/my.cnf
[mysqld]
datadir = /mysqldata
skip_name_resolve = ON
innodb_safe_truncate = OFF
vi /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
# 备注:加入到系统环境变量中
source /etc/profile.d/mysql.sh
MariaDB 在10.2.19版本就更新了innodb_safe_truncate这个变量,所以,10.2.19版本~10.3版本还是可以用xtrabackup这个工具的,只不过要把innodb_safe_truncate这个变量OFF掉就可以了。
4、初始化,登录mysql。
scripts/mysql_install_db --user=mysql --datadir=/mysqldata
service mysqld start
mysql -uroot -hlocalhost -p
# 备注:mysql 安装完成后密码默认为空
service mysqld (restart | start | stop | reload)
# 备注:需要的时候可以这样操作它。
安装好MariaDB后,最好运行一次mysql_secure_installation,初始化MariaDB安全配置
/usr/local/mysql/bin/mysql_secure_installation
<–初次运行直接回车
#是否设置root用户密码,输入y并回车或直接回车
#设置root用户的密码
#再输入一次你设置的密码
#是否删除匿名用户,生产环境建议删除,所以直接回车
#是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止
#是否删除test数据库,直接回车
#是否重新加载权限表,直接回车
mysqld_safe与mysqld区别
mysqld_safe与mysqld区别,直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。
用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的 mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的。
它通常做如下事情:
- 检查系统和选项。
- 检查MyISAM表。
- 保持MySQL服务器窗口。
- 启动并监视mysqld,如果因错误终止则重启。
- 将mysqld的错误消息发送到数据目录中的host_name.err 文件。
- 将mysqld_safe的屏幕输出发送到数据目录中的host_name.safe文件。
【mysqld】:是mysql的核心程序,用于管理mysql的数据库文件以及用户的请求操作。mysqld可以读取配置文件中的[mysqld]的部分
mysqld启动命令:
[root@localhost mysql]# /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf &
查看mysqld支持的选项:
[root@localhost mysql]# /usr/local/mysql/bin/mysqld --verbose --help
【mysqld_safe】:相当于多了一个守护进程,mysqld挂了会自动把mysqld进程拉起来
1.可以读取的配置部分[mysqld],[server],[myslqd_safe], 为了兼容mysql_safe也会读取[safe_mysqld]中的配置
2.调用的mysqld是可以在[mysqld_safe]中用-mysqld, --mysqld-version指定
mysqld_safe启动命令:
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --defaluts-file=/etc/my.cnf & 或者
./mysqld_safe--defaults-file=/etc/my.cnf --user=mysql &
在Unix和NetWare中推荐使用mysqld_safe来启动mysqld服务器。
mysqld_safe增加了一些安全特性,例如当出现错误时重启服务器并向错误日志文件写入运行时间信息。
MySQL--mysql.sock是什么
mysql的连接方式
mysql的连接方式有:
TCP/IP
socket
当mysql client和mysql server在同一台机器的时候,使用localhost进行连接的时候,就会使用socket建立连接
也就是本地localhost用户是通过这个套接字文件mysql.sock建立连接的
mysql.sock 一般存在于mysql数据目录下