出于学习目的选择最小安装php
[root@localhost ~]# hostnamectl --static set-hostname centos7 [root@localhost ~]# reboot
Linux 操做系统的网卡设备的传统命名方式是 eth0、eth一、eth2等,而 CentOS7提供了不一样的命名规则,默认是基于固件、拓扑、位置信息来分配。这样作的优势是命名全自动的、可预知的,缺点是比 eth0、wlan0 更难读,好比 ens33 。
CentOS 7 默认是不启动网卡,编辑网卡配置 使「ONBOOT = YES」,重启网络服务html
[root@centos7 ~]# ip addr [root@centos7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 [root@centos7 ~]# systemctl restart network
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境
Xshell 链接需远程服务器安装有 openssh,CentOS系统默认安装了opensshmysql
[root@centos7 ~]# rpm -qa | grep openssh-server
切换 root 身份,为 jiong 用户添加 root 权限linux
[jiong@centos7 ~]$ su - [root@centos7 ~]# vi /etc/sudoers
## Allow root to run any commands anywhere root ALL=(ALL) ALL jiong ALL=(ALL) ALL
虚拟机快照保存现场c++
建立软件包存储目录,安装wget、telnet、vimgit
[jiong@centos7 home]$ sudo mkdir soft [jiong@centos7 soft]$ yum install wget [jiong@centos7 soft]$ yum install telnet [jiong@centos7 soft]$ yum install vim
在linux里编译安装软件会用到诸如 configure / make / makeinstall的命令,这些都是典型的使用GNU的autoconf和automake产生的程序的安装步骤make是用来编译的,它从Makefile中读取指令,而后编译程序员
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置github
红帽系的linux,须要的开发者组件有以下几种:sql
autoconf automake binutils bison flex gcc gcc-c++ gettext libtool make patch pkgconfig redhat-rpm-config rpm-build rpm-sign一个一个去源上找而且安装是一件很是费时费力的工做,不过好在,yum管理器提供了一个很简便的方式供咱们安装。shell
[jiong@centos7 ~]$ yum group list [jiong@centos7 ~]$ sudo yum group install "Development Tools"
这是由于:MySQL 在安装时会带一个 MySQL 的函数库,而这个函数库在安装 PHP 时会用到。PHP 安装成功后会生成一个 php-fpm 进程提供 fastcgi 服务,安装好 Apache 或者Nginx 若是要执行 PHP 须要进行相关设置。
MySQL 与 MariaDB 不兼容。若是在未删除 MariaDB 的状况下尝试在任一服务器上进行安装,安装将终止并显示一条错误消息以指向卸载 MariaDB
centos7 默认安装了:「 mariadb-libs-5.5.56-2.el7.x86_64」
[jiong@centos7 ~]$ rpm -qa | grep mariadb [jiong@centos7 ~]$ sudo yum remove mariadb-libs-5.5.56-2.el7.x86_64
官方文档:Source Installation System Requirements
下载 Mysql, boost
[jiong@centos7 soft]$ cd /home/soft/ [jiong@centos7 soft]$ sudo wget https://github.com/mysql/mysql-server/archive/mysql-5.7.17.tar.gz [jiong@centos7 soft]$ sudo https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
libaio libaio-devel bison bison-devel zlib-devel openssl openssl-devel ncurses ncurses-devel libcurl-devel libarchive-devel boost boost-devel lsof wget gcc gcc-c++ make cmake perl kernel-headers kernel-devel pcre-devel screen
CMake是一个跨平台的安装(编译)工具,能够用简单的语句来描述全部平台的安装(编译过程)。ncurses(new curses)是一个程序库,它提供了API,能够容许程序员编写独立于终端的基于文本的用户界面。
Boost 库是一个可移植、提供源代码的 C++ 库,做为标准库的后备,是 C++标准化进程的开发引擎之一。
卸载系统中低版本的 boost,编译安装 boost,安装 ncurses-devel,bison
[root@centos7 ~]# rpm -qa boost [root@centos7 ~]# rpm -e boost [root@centos7 ~]# tar jxvf boost_1_55_0.tar.bz2 [root@centos7 ~]# cd boost_1.55.0 [root@centos7 ~]# ./bootstrap.sh [root@centos7 ~]# ./b2 [root@centos7 ~]# ./b2 install [root@centos7 ~]# yum install ncurses-devel [root@centos7 ~]# yum install bison
[root@centos7 ~]# cd /home/soft/
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DSYSCONFDIR=/etc \ -DWITH_BOOST=./bootst/boost_1_59_0 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DENABLE_DTRACE=0 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_EMBEDDED_SERVER=1
[root@centos7 ~]# make [root@centos7 ~]# make install [root@centos7 ~]# make clean
[root@centos7 ~]# rm CMakeCache.txt
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装路径 -DMYSQL_DATADIR=/usr/local/mysql/data //数据文件存放位置 -DSYSCONFDIR=/etc //my.cnf路径 -DWITH_MYISAM_STORAGE_ENGINE=1 //支持MyIASM引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 //支持InnoDB引擎 -DWITH_MEMORY_STORAGE_ENGINE=1 //支持Memory引擎 -DWITH_READLINE=1 //快捷键功能(我没用过) -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock //链接数据库socket路径 -DMYSQL_TCP_PORT=3306 //端口 -DENABLED_LOCAL_INFILE=1 //容许从本地导入数据 -DWITH_PARTITION_STORAGE_ENGINE=1 //安装支持数据库分区 -DEXTRA_CHARSETS=all //安装全部的字符集 -DDEFAULT_CHARSET=utf8 //默认字符 -DDEFAULT_COLLATION=utf8_general_ci //设置默认校对规则
MySQL 被 Oracle 收购后,CentOS 的镜像仓库中提供的默认的数据库也变为了 MariaDB
mysql-devel 开发用到的库以及包含文件。若是不做C开发,能够不装,任何 -devel 包都是这样
mysql 客户端 + 服务器
mysql-client客户端,提供“mysql”命令行程序。
mysql-server 数据库服务器
[root@centos7 ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm [root@centos7 ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@centos7 ~]# sudo yum repolist enabled | grep "mysql.*-community.*" # mysql-connectors-community/x86_64 MySQL Connectors Community 74 # mysql-tools-community/x86_64 MySQL Tools Community 74 # mysql56-community/x86_64 MySQL 5.6 Community Server 429
[root@centos7 ~]# sudo yum install mysql-server
[root@centos7 ~]# sudo vi /etc/my.cnf # 指定密码校验策略: 0=LOW, 1=MEDIUM, 2=STRONG validate_password_policy=0 # 禁用密码策略 validate_password = off # 重启 sudo systemctl restart mysqld
[root@centos7 ~]# set password = password('123456');
安装mysql、设置开机自动、启动服务
[root@centos7 ~]# systemctl enable mysqld.service [root@centos7 ~]# systemctl start mysqld.service
设置 root 密码
禁止 root 帐号远程登陆
禁止匿名帐号(anonymous)登陆
删除测试库
是否确认修改
[root@centos7 ~]# mysql_secure_installation
[root@centos7 ~]# vi /etc/my.cnf
[client] default-character-set = utf8 [mysqld] default-storage-engine = INNODB character-set-server = utf8 collation-server = utf8_general_ci
> -r: 添加系统用户 > -g: 指定要建立的用户所属组 > -s: 新账户的登陆shell > -d: 新账户的主目录 > -M: 不要建立用户的主目录
[root@centos7 ~]# groupadd -r mysql [root@centos7 ~]# useradd -r -g mysql -M mysql [root@centos7 ~]# passwd mysql [root@centos7 ~]# usermod -s /sbin/nologin mysql
容许 「数据库」.「表」 TO '用户名' @ % [任意IP] IDENTIFIED BY '密码' WITH GRANT OPTION
mysql> GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY 'jiong' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO 'jiong'@'%' IDENTIFIED BY 'jiong' WITH GRANT OPTION; mysql> flush privileges;
容许mysql远程访问,可使用如下三种方式:
改表
受权
// 改表 mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user; //受权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
MySQL> show variables like '%dir%'; +-----------------------------------------+----------------------------+ | Variable_name | Value | +-----------------------------------------+----------------------------+ | basedir | /usr/ | | binlog_direct_non_transactional_updates | OFF | | character_sets_dir | /usr/share/mysql/charsets/ | | datadir | /var/lib/mysql/ | | ignore_db_dirs | | | innodb_data_home_dir | | | innodb_log_group_home_dir | ./ | | innodb_max_dirty_pages_pct | 75 | | innodb_max_dirty_pages_pct_lwm | 0 | | innodb_tmpdir | | | innodb_undo_directory | . | | lc_messages_dir | /usr/share/mysql/ | | plugin_dir | /usr/lib64/mysql/plugin/ | | slave_load_tmpdir | /tmp | | tmpdir | /tmp | +-----------------------------------------+----------------------------+
[root@centos7 ~]# iptables -F [root@centos7 ~]# iptables -X [root@centos7 ~]# iptables -Z
直连:使用 mysql 帐户(只能链接数据库,没法链接服务器)
SSH链接:待补充
看官方文档比没目的地搜索效率好上许多,还能学习英文「笑」「谷歌翻译真好」
学习依赖安装,掌握姿式
----------------------------------------------------------DONE------------------------------------------------------------