mysql和mariadb
关系型数据库:数据被组织成二位表的形式
以mariadb为准
他的安装方式有三种
1)yum安装
2)二进制安装
3)编译安装
第一种二进制安装
首先我们去官网mariadb.org
选择自己想要安装的版本下载
安装步骤
1)准备配置环境
关闭selinux
iptables
firewall
2)创建mysql用户(其家目录是放MariaDB的可执行程序的)
useradd -r -m -d /data/mariadb -s /sbin/nologin mysql
示例
groupadd -g 306 mysql
[root@centos7 ~]# useradd -r -g 306 -m -d /data/mariadb -s /sbin/nologin mysql
3)解压下载好的包到/usr/local下(必须保存在usr/local下)
tar xvf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/
4)创建软连接给解压后的文件夹 链接为mysql
并把目录下的所有文件修改属主为root 属组改为mysql
ln -s mariadb-10.2.15-linux-x86_64/ mysql
chown -R root:mysql mysql/
cd到/usr/local/mysql中
并把echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
加入PATH 变量
5)创建lvm并挂载,取名为/mydata/ 进入目录在其中新建目录data 用来存放mysql数据
修改属主属组为mysql
chown mysql:mysql /mydata/data
6)进入/usr/local/mysql下
运行脚本
./scripts/mysql_instll_db --user=mysql --datadir=/mydata/data/
准备日志文件
touch /var/log/mysqld.log
chown mysqld /var/log/mysqld.log
6))如果是6版本(设定服务脚本,及默认哪个模式下开启服务)
1、cp usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
2、
chkconfig --add mysqld
3、查一下开机启动情况
chkconfig --list mysqld
7版本直接复制mysql.serve 到/etc/init.d/改名为mysqld
7)配置文件:
配置格式:类ini格式,为各个程序困通过单个配置文件提供配置文件
配置文件查找路径:
/etc/mycnf--->/etc/mysql/mycnf---> --default-extra-file=/PATH/TO/CONF_FILE---> ~/.my.cnf (查找顺序是自前想后查找,生效顺序是自后向前:备注自前向后都会查找,不过生效配置 后面的会覆盖前面的结果
)
所以我们需要新建/etc/mysql目录,并在/usr/local/mysql/support-file下按照自己需要的大小取出一个配置文件(这里有很多配置文件 big small huge等都是以.cnf结尾的) 复制到新建目录/etc/mysql中 改名叫my.cnf
8)修改配置文件:如果只开一个程序
我们只需要加两个参数在thread_concurrency = 8这行下方增加
1)datadir = /mydata/data
2) innodb_file_per_table = on
3)skip_name_resolve = on(这行叫跳过地址反解)
9)开启服务
无论6 7 都用service命令启动就可以
10)mysql_secure_installation:安全初始化
二、编译安装
1)安装各个需要 依赖 的包组
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel
2)准备mariadb的源码安装包
备注:最好去官网mariadb.org 官网下载
3)创建mysql用户
useradd -r -g 306 -d /mydata -s /bin/nologin mysql
4) 解压安装包
5)创建lvm 并挂载至/mydata下
并修改属主属组
chown mysql:mysql /mydata
安全起见修改属性
chmod 770 /mydata
6)编译安装
cd mariadb-10.2.15/
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysqldb/ \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make -j 4
make install
7)配置环境变量
echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
8)生成数据库文件
cd /usr/local/mysql/
scripts/mysql_install_db --datadir=/mydata/data --user=mysql
9准备配置文件
10准备启动脚本
11启动服务
参考二进制安装
mariaDB的程序组成
C端:
MySQL:CLI交互式客户程序端
mysqldump,mysqladmin
S端:
mysqld_safe
mysqld
mysqld_multi
接入myqsl的两种情形
1)基于TCP/IP协议通信
坚挺在tcp协议的3306端口支持远程通信
2)坚挺在unix sock上:坚挺在sock文件上(/tmp/mysql,sock,var/ilb/mysql.sock)仅支持本地通信
mysql
mysql的命令行交互客户端程序:myaql默认连接本机的unix sock上
连接远程的需要加选项
-u:用户名 :默认为root
-h:host :默认为localhost
-p:password
mysqp用户账号由两部分组成:‘USERNAME’@HOST(host支持主机IP:可以使用通配符)
通配符:
%:表示任意长度的任意字符
_:表示单个任意字符
(通配符要用引号引起来)
mysql安装后的设定
1)为root用户设定密码
set password
2)删除所有的匿名用户
drop user ''@'localhost'
这两个步骤可以使用脚本
mysql_secure_installation
3)关闭主机名反解
配置文件中
mysqldupm:数据的导出工具
基于mysql向mysqld服务发起查询请求,并把查到的所有数据转换,导出保存在文本文件中
mysqladmin:基于mysql协议管理工具
mysqlimport:数据导入工具
获取mysql的默认配置程序
Mysql --print-defaults
mysqld --print-defaults
mysql -e ‘MYSQL_CMD’不连入数据库,执行数据命令
脚本模式
mysql -uUser -pPasswd < /PATH/TO/FILE.SQL
读取sql脚本
获取MySQL进程使用个服务器参数及其值
show global variables