Mysql安装方法介绍

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
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二进制安装方法

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
View Code

 

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 |
+------+-----------+-------------------------------------------+
View Code

 

 

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数据库类似与“数据字典”,提供了访问数 据库元数据的方式,即数据的数据.

          比如数据库名或表名,列类型,访问权限 (更加细化的访问方式)

自动初始化用户脚本

       提示can't find any matching row in the user table

       

      主要原因是修改密码的条件不符
         将localhost'=password('MyNewPass4!'); 代码中的localhost修改%,与数据库host字段值一致

      

        

       

posted @ 2018-06-06 21:31  不懂123  阅读(204)  评论(0编辑  收藏  举报