一、mysql数据库
mysql数据库:
mysql与mariadb的区别:
MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
区别一:
MariaDB不仅仅是Mysql的一个替代品,它的主要目的是创新和提高Mysql的技术。
区别二:
MySQL之父Widenius先生离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL,实在很不靠谱,于是决定另开分支,这个分支的名字叫做MariaDB。
MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。
二、安装mysql数据库
官网下载:
https://dev.mysql.com/downloads/mysql/
华为镜像站下载:
wget https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-boost-5.7.33.tar.gz
cmake-3.9.2的安装:在我的博客cmake的版本上级中查看
安装mysql
##cmake要求3.5版本以上
yum install -y gcc gcc-c++ ncurses cmake
yum install -y ncurses-devel
yum install bison -y
yum install openssl-devel -y
wget https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-boost-5.7.33.tar.gz
tar -zxvf mysql-boost-5.7.33.tar.gz
cd mysql-5.7.33/
#配置
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci -DWITH_BOOST=/root/mysql-5.7.33/boost/boost_1_59_0
#参数含义
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql ##指定软件的安装路径
-DMYSQL_DATADIR=/data/mysql ##指定MySQL数据库数据文件的存储路径,这一选项在MySQL服务启动时可以通过datadir参数进行设置
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock ##指定套接字文件的存储路径,默认是在/tmp/mysql.sock目录下,这一选项可以在MySQL服务启动时通过socket参数进行设置
-DWITH_INNOBASE_STORAGE_ENGINE=1 ##静态编译存储引擎
-DSYSCONFDIR=/etc ##指定MySQL参数文件的默认路径,这一选项可以在MySQL服务启动时通过defaults-file参数进行设置
-DENABLED_LOCAL_INFILE=1 ##是否允许从客户端本地加载数据到MySQL服务端,专用于load data infile语句,默认是不允许的
-DWITH_EXTRA_CHARSETS=all ##指定附加支持的字符集,默认是all
-DDEFAULT_CHARSET=utf8mb4 ##指定MySQL服务的默认字符集
-DDEFAULT_COLLATION=utf8mb4_unicode_ci ##指定MySQL服务的默认校对规则
-DWITH_BOOST=/root/mysql-5.7.33/boost/boost_1_59_0 ##安装位置与数据位置
[注意] 如果没有一次性cmake成功,则删除CMakeCache.txt,重新cmake
编译安装
#时间较长耐心等待
make -j2
make install
#拷贝启动脚本
[root@server4 mysql-5.7.33]# cd /usr/local/mysql/support-files/
[root@server4 support-files]# cp mysql.server /etc/init.d/mysqld
#修改环境变量
[root@server4 support-files]# cd
[root@server4 ~]# vim .bash_profile
------------------
PATH=$PATH:$HOME/bin:/usr/local/php/bin:/usr/local/mysql/bin
------------------------
[root@server4 ~]# source .bash_profile
#建立用户和创建数据目录并给予权限
[root@server4 ~]# useradd -M -d /data/mysql -s /sbin/nologin mysql
[root@server4 ~]# mkdir -p /data/mysql
[root@server4 ~]# chown mysql.mysql /data/mysql
[root@server4 ~]# chmod 750 /data/mysql
#修改配置
[root@server4 ~]# vim /etc/my.cnf
----------------------------
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
[mysqld_safe]
log-error=/data/mysql/mysqld.log
pid-file=/var/run/mysqld.pid
-----------------------------
#初始化数据库,生成初始化密码
[root@server4 ~]# mysqld --initialize --user=mysql
-----------------------
root@localhost: hiFrbxNxl1,e
-----------------------
#mysql启动成功
[root@server4 ~]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/mysqld.log'.
SUCCESS!
登陆数据库
mysql_secure_installation
输入你初始化的密码
进入更改新密码
提示一
是否设置安全插件8位大小写的密码 NO
提示二
是否修改root密码 NO
提示三
安装一个匿名用户允许任何人登陆mysql数据库
是否删除匿名用户 YES
提示四
只允许localhost连接确保别人无法在网络中猜出密码
禁止root远程登陆 YES
提示五
mysql提供一个test的数据库任何人都可以访问仅用与测试
是否删除测试数据库 YES
提示六
重新加载特权表将确保到目前为止所做的所有更改将立即生效
是否重新加载特权表 YES
再次登陆数据库
mysql -p
Enter password:
...
mysql> show databases;
mysql> quit;
Bye
mysql安装完成!