MySQL(关系型数据库管理系统)
是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。
我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:
1.数据以表格的形式出现
2.每行为各种记录名称
3.每列为记录名称所对应的数据域
4.许多的行和列组成一张表单
5.若干的表单组成database
一、gcc的升级
设置aliyun的centos源
cd /etc/yum.repos/
vim CentOS-Base.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
vim CentOS-SCLo.repo
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
yum install centos-release-scl
yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
二、mysql的编译
官网下载mysql-boost-8.0.21.tar.gz
aliyun下载cmake3-3.6.1-2.el7.x86_64.rpm、cmake3-data-3.6.1-2.el7.noarch.rpm
jsoncpp-0.10.5-2.el7.x86_64.rpm、jsoncpp-devel-0.10.5-2.el7.x86_64.rpm
yum install -y jsoncpp-devel-0.10.5-2.el7.x86_64.rpm jsoncpp-0.10.5-2.el7.x86_64.rpm
yum install -y cmake3-3.6.1-2.el7.x86_64.rpm
yum install -y cmake3-data-3.6.1-2.el7.noarch.rpm
tar zxf mysql-boost-8.0.21.tar.gz
mkdir build
cd build
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_0900_ai_ci \
-DWITH_BOOST=/root/mysql-8.0.21/boost/boost_1_72_0/
make -j2 <CPU给4个内核>,内存给大一点
make install
ln -s /usr/bin/cmake3 /usr/local/bin/cmake 做软连接
- 拷贝启动脚本
cd /usr/local/lnmp/mysql/suupport-files/
cp mysql.server /etc/init.d/mysqld
- 创建数据目录
mkdir -p /data/mysql
chown mysql.mysql /data/mysql
- 初始化数据库
mysqld --initialize --user=mysql
vim .bash_profile
PATH=$PATH:$HOME/bin:/usr/local/lnmp/php/bin:/usr/local/mysql/bin #添加
source .bash_profile
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/lnmp/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
#skip-grant-tables
# include all files from the config directory
#
!includedir /etc/my.cnf.d
/etc/init.d/mysqld start 开启mysql
- 修改密码
/etc/init.d/mysqld start开启之后
mysql -p
输入你认证的初始密码
alter user root@localhost identified by 'Westos+006' 修改密码
quit退出mysql后,再mysql -p是就需要输入Westos+006密码
- 忘记数据库密码
vim /etc/my.cnf
skip-grant-tables //添加参数
/etc/init.d/mysqld restart
mysql -p
mysql> update mysql.user set authentication_string='' where user='root';
vim /etc/my.cnf
skip-grant-tables //注释或删除参数
/etc/init.d/mysqld restart
mysql -p
mysql> alter user root@localhost identified by 'Westos+007';
mysql> flush privileges;
在进入/etc/my.cnf 里面注释skip-grant-tables 这一行,再/etc/init.d/mysqld restart