MySQL数据库官网地址
www.mysql.com
数据库结构
1.数据库系统 DBS
A. 数据库管理系统(DataBase Management System, DBMS):
SQL(RDS 关系型数据库)
ORACLE
Oracle MySql
DB2(IBM)
SQL-Server(MS)
MySql
MariaDB
Percona server(tao bao)
B. 数据库管理员(Database Administrator,DBA):
核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能
2.SQL语言(结构化查询语句)
A. DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程、函数, CREATE DROP ALTER
B. DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
C. DQL语句 数据库查询语言: 查询数据 SELECT
D. DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
3. 数据访问技术
A. ODBC PHP <.php>
B. JDBC JAVA <.jsp>
C.ASP.NET<c#>
Centos7.x安装MySQL数据库
1.RPM安装
1.访问国内MySQL镜像站
网址 | 描述 |
---|---|
http://mirrors.ustc.edu.cn/ | 中国国学技术大学开源软件镜像 |
http://mirrors.163.com/ | 网易开源镜像站 |
https://developer.aliyun.com/mirror/ | 阿里开源镜像站 |
https://mirrors.huaweicloud.com/ | 华为开源镜像站 |
2.下载软件包(以中国国学技术大学开源软件镜像举例)
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-server-5.7.30-1.el7.x86_64.rpm
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-client-5.7.30-1.el7.x86_64.rpm
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-common-5.7.30-1.el7.x86_64.rpm
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-libs-5.7.30-1.el7.x86_64.rpm
3.安装相关软件
yum install -y net-tools.x86_64 libaio.x86_64 perl.x86_64
4.安装MySQL服务器
yum install -y mysql-community*
如果发生以下报错信息:
yum remove -y mariadb-libs.x86_64 //卸载mariadb
yum -y install mysql-community* //重新安装
5.启动MySQL服务器
systemctl restart mysqld //重启MySQL
systemctl start mysqld //开启MySQL
systemctl enable mysqld //开机自启MySQL
systemctl status mysqld //查看MySQL状态
6.查询MySQL服务器默认的密码
grep password /var/log/mysqld.log //查询默认密码
-
注意:
- 1.冒号和空格后面全是密码,没有查到密码,是因为没有启动成功。
- 2.没有查到密码的原因,是因为没有启动成功或者是以前mariadb的密码
7.修改MySQL服务器密码
mysqladmin -uroot -p'旧密码' password '新密码'
//注意:在password后有空格
8.登陆MySQL服务器密码
mysql -uroot -p'密码' //登录数据库
show databases; //进入数据库后 查询都有什么数据库
2.源码安装
源码安装特点
-
与二进制(RPM)发行版本相比,如果选择了通过源代码进行安装,那么在安装过程中能够对MySQL所做的调整将会更多更灵活一些。因为通过源代码编译我们可以:
- a) 针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码;
- b) 根据不同的软件平台环境调整相关的编译参数;
- c) 针对我们特定应用场景选择需要什么组件不需要什么组件;
- d) 根据我们的所需要存储的数据内容选择只安装我们需要的字符集;
- e) 同一台主机上面可以安装多个MySQL;
- f) 等等其他一些可以根据特定应用场景所作的各种调整。 在源码安装给我们带来更大灵活性的同时,同样也给我们带来了可能引入的隐患:
- a) 对编译参数的不够了解造成编译参数使用不当可能使编译出来的二进制代码不够稳定;
- b) 对自己的应用环境把握失误而使用的优化参数可能反而使系统性能更差;
- c) 还有一个并不能称之为隐患的小问题就是源码编译安装将使安装部署过程更为复杂,所花费的时间更长;
1.准备编译环境
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
//编译环境
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
//下载所需压缩包
wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.30-el7-x86_64.tar.gz
//下载所需源码包
2.安装MySQL
解压:
groupadd mysql
//建立mysql组
useradd -r -g mysql -s /bin/false mysql
//建立mysql用户,加入mysql组,-s拒绝用户登陆
tar xvf mysql-5.7.19.tar.gz
mv xx/boost_1_59_0.tar.gz xx/mysql-5.7.19/
//将boost压缩包移动到mysql-5.7.19内
tar xf boost_1_59_0.tar.gz
配置:
cmake . \
-DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
编译安装
make
make install
3.初始化
cd /usr/local/mysql
//数据库安装位置
mkdir mysql-files
chown -R mysql.mysql /usr/local/mysql
//将数据库的主属组属改为建立好的mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
mv /etc/my.cnf /root
//将MySQL配置文件移动到其他位置,防止修复错误
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
//在my.cnf中加入,保存退出
4.开机启动MySQL
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
//添加mysql服务
chkconfig mysqld on
//开机自动启动mysql服务
systemctl restart mysqld
5.注意源码编译安装的MySQL,密码登录有问题需要绝对路径使用mysql命令
/usr/local/mysql/bin/mysql -u root -p'密码' //登陆
/usr/local/mysql/bin/mysqladmin -u root -p '旧密码' password '新密码'
//修改密码