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.73-8.el6_8.x86_64 已安装并且是最新版本 无须任何处理 [root@yxh6 ~]# service mysqld start
[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 userG;
MySQL二进制安装方法
1.检查系统环境 iptables selinux mariadb-server 2.创建mysql用户 useradd -r -d /data/mysqldb -s /sbin/nologin mysql 3.解压缩二进制包,解压的路径需要看官方手册的说明 tar xvf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/ 4.创建软链接 cd /usr/local && ln -s mariadb-10.2.15-linux-x86_64/ mysql 5.修改文件的属主和属组 chown -R root:root mysql/ 或者 setfacl -R -m u:mysql:rwx /app/mysql/ 500表示当前系统没有ID为500的用户信息 [root@centos7 mysql]# ll drwxr-xr-x 2 root root 4096 Jun 5 18:30 bin -rw-r--r-- 1 500 500 17987 May 17 05:31 COPYING 6.设置环境变量 echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh . /etc/profile.d/mysql.sh 7.设置存放数据目录的用户权限 chown mysql.mysql /data/mysqldb chmod 770 /data/mysqldb 8.生成数据库文件 [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 9.修改配置文件 [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 10.chown mysql:mysql /usr/local/mysql/sock 11.启动数据库并注册到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 12.对mysql数据库进行安全加固 /usr/local/mysql/bin/mysql_secure_installation 13.启动客户端连接服务端 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 | | ::1 | | | | 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.7 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 | ::1 | *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数据库类似与“数据字典”,提供了访问数 据库元数据的方式,即数据的数据.
比如数据库名或表名,列类型,访问权限 (更加细化的访问方式)