MySQL的yum安装方法
centos7默认不再使用mysql而是用mariadb来代替mysql
[root@yxh6 ~]# yum install mysql-server
已加载插件:fastestmirror, refresh-packagekit, security
设置安装进程
Loading mirror speeds from cached hostfile
* base: ftp.sjtu.edu.cn
* epel: mirror.premi.st
* extras: mirrors.neusoft.edu.cn
* updates: mirrors.aliyun.com
包 mysql-server-5.1.-.el6_8.x86_64 已安装并且是最新版本
无须任何处理
[root@yxh6 ~]# service mysqld start
centos6安装
[root@centos7 ~]# yum install mysql-server
Loaded plugins: fastestmirror, langpacks
No Match for argument: mysql-server
No Packages marked for removal [root@centos7 ~]# yum install mariadb-server
[root@centos7 ~]# systemctl start mariadb
[root@centos7 ~]# mysql
MariaDB [mysql]> select * from user\G;
centos7安装
MySQL二进制安装方法
.检查系统环境
iptables selinux mariadb-server
.创建mysql用户
useradd -r -d /data/mysqldb -s /sbin/nologin mysql
.解压缩二进制包,解压的路径需要看官方手册的说明
tar xvf mariadb-10.2.-linux-x86_64.tar.gz -C /usr/local/
.创建软链接
cd /usr/local && ln -s mariadb-10.2.-linux-x86_64/ mysql
.修改文件的属主和属组
chown -R root:root mysql/ 或者
setfacl -R -m u:mysql:rwx /app/mysql/
500表示当前系统没有ID为500的用户信息
[root@centos7 mysql]# ll
drwxr-xr-x root root Jun : bin
-rw-r--r-- May : COPYING
.设置环境变量
echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh .设置存放数据目录的用户权限
chown mysql.mysql /data/mysqldb
chmod /data/mysqldb .生成数据库文件
[root@centos7 mysql]# cd /usr/local/mysql
[root@centos7 mysql]# ./scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql
Installing MariaDB/MySQL system tables in '/data/mysqldb' ...
OK .修改配置文件
[root@centos7 mysql]# cp support-files/my-huge.cnf /etc/my.cnf
[mysqld]
datadir = /data/mysqldb
socket = /usr/local/mysql/sock/mysql.sock
[client]
socket = /usr/local/mysql/sock/mysql.sock .chown mysql:mysql /usr/local/mysql/sock .启动数据库并注册到systemctl后台服务脚本
[root@centos7 mysql]# cd /usr/local/mysql/
[root@centos7 mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@centos7 mysql]# chkconfig --add mysql 开机自启动mysql服务
on:针对的服务有等级限制,具体查询chkconfig详细
[root@centos7 mysql]# chkconfig mysql on
现在可以使用下面的命令启动mysql
[root@centos7 mysql]# service mysql start .对mysql数据库进行安全加固
/usr/local/mysql/bin/mysql_secure_installation .启动客户端连接服务端
mysql
MySQL的源码安装方法
把源代码先进行一下编译,然后和二进制安装的步骤一样.在编译的时候可以自己指定安装目录和其它相关参数,使用二进制包安装是无法指定这些参数的
MySQL实现多实例
给每个实例配置自己的socket文件和相关配置文件
mkdir /mysqldb/{3306,3307,3308}/{data,etc,socket,pid,log} -pv
chown -R mysql.mysql /mysqldb/
mysql_install_db --datadir=/mysqldb/3306/data --user=mysql --basedir=/usr
mysql_install_db --datadir=/mysqldb/3307/data --user=mysql --basedir=/usr
mysql_install_db --datadir=/mysqldb/3308/data --user=mysql --basedir=/usr
MySQL基础命令
#mysql客户端默认以mysql中的root账户登录,操作权限比较大
#默认的root密码都是空的,这里的root是mysql的不是操作系统的
#后面user列为空表示匿名用户登录
MariaDB [mysql]> select user,password,host from user;
+------+----------+-----------+
| user | password | host |
+------+----------+-----------+
| root | | localhost |
| root | | centos7 |
| root | | 127.0.0.1 |
| root | | :: |
| | | localhost |
| | | centos7 |
+------+----------+-----------+ #实现mysql安全加强功能
[root@centos7 bin]# which mysql_secure_installation
/usr/bin/mysql_secure_installation
[root@centos7 bin]# mysql_secure_installation
[root@centos7 ~]# mysql -uroot -proot -h192.168.30.
MariaDB [mysql]> select user,host,password from user;
#mysql数据库中的每个登录名是由user@host共同组成的
#并不是由单一的user组成的
#host(主机名或者IP地址)表示可以使用哪台主机连接当前的mysql数据库
#表示可以在哪台主机以mysql中的哪个用户进行登录
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | centos7 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | 127.0.0.1 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | :: | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+------+-----------+-------------------------------------------+
MySQL基础介绍
存储引擎就是存储数据的一种格式
基于单进程,多线程
数据库管理系统软件和数据本身是相分离的,基于这样的机制实现数据的迁移,只需要把数据文件拷贝到安装好数据库管理系统的主机即可
基于客户端服务端的运行方式
客户端mysql工作模式:
1.交互式模式 mysql
客户端命令: \u,use
服务器端命令: SQL, 需要语句结束符;
2.脚本模式:
mysql –uUSERNAME -pPASSWORD < /path/somefile.sql
mysql> source /path/from/somefile.sql
服务端mysqld工作模式:
1、命令行选项:
2、配置文件:类ini格式
集中式的配置,能够为mysql的各应用程序提供配置信息
[mysqld]
[mysqld_safe]
[mysqld_multi]
[mysql]
[mysqldump]
[server]
[client]
格式:parameter = value
说明:_和- 含义相同
0,OFF,FALSE 意义相同
1,ON, TRUE 意义相同
MySQL中的系统数据库
mysql数据库:
是mysql的核心数据库,类似于sql server中的master库,主要负责存储数据库的用户,权限设置,关键字等mysql自己需要使用的控制和管理信息
PERFORMANCE_SCHEMA:
MySQL 5.5开始新增的数据库,主要用于收集数据 库服务器性能参数,库里表的存储引擎均为PERFORMANCE_SCHEMA
用户不能创建存储引擎为PERFORMANCE_SCHEMA的表
information_schema数据库:
MySQL 5.0之后产生的,一个虚拟数据库,物理 上并不存在.information_schema数据库类似与“数据字典”,提供了访问数 据库元数据的方式,即数据的数据.
比如数据库名或表名,列类型,访问权限 (更加细化的访问方式)