设为首页 收藏本站
查看: 701|回复: 0

[经验分享] mariadb-10.0.13安装+ mysql

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2016-2-19 08:31:30 | 显示全部楼层 |阅读模式
安装环境
[iyunv@node3 ~]# yum install cmake -y
[iyunv@node3 ~]# !268
yum groupinstall "Development Tools" "Server Platform Development" -y

创建用户
[iyunv@node3 ~]# groupadd -r -g 306 mysql
[iyunv@node3 ~]# useradd -r -u 306 -g 306 mysql
[iyunv@node3 ~]# cat /etc/passwd|grep 306
mysql:x:306:306::/home/mysql:/bin/bash

创建目录
[iyunv@node3 ~]# mkdir -pv /mydata/data
[iyunv@node3 ~]# chown -R mysql.mysql /mydata

安装mariradb
[iyunv@node3 ~]# ls
anaconda-ks.cfg        CentOS-fasttrack.repo  epel-release-latest-6.noarch.rpm  install.log             公共的  图片  音乐
CentOS-Base.repo       CentOS-Media.repo      epel.repo                         install.log.syslog      模板    文档  桌面
CentOS-Debuginfo.repo  CentOS-Vault.repo      epel-testing.repo                 mariadb-10.0.13.tar.gz  视频    下载
[iyunv@node3 ~]# tar xf mariadb-10.0.13.tar.gz

[iyunv@node3 mariadb-10.0.13]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data/

[iyunv@node3 mysql]# make
[iyunv@node3 mysql]# make install

[iyunv@node3 mariadb-10.0.13]# cd /usr/local/mysql/
[iyunv@node3 mysql]# ll
总用量 212
drwxr-xr-x.  2 root root  4096 2月  18 11:33 bin
-rw-r--r--.  1 root root 17987 8月   9 2014 COPYING
-rw-r--r--.  1 root root 26545 8月   9 2014 COPYING.LESSER
-rw-r--r--.  1 root root  1553 8月   9 2014 CREDITS
drwxr-xr-x.  3 root root  4096 2月  18 11:33 data
drwxr-xr-x.  2 root root  4096 2月  18 11:33 docs
-rw-r--r--.  1 root root  8245 8月   9 2014 EXCEPTIONS-CLIENT
drwxr-xr-x.  3 root root  4096 2月  18 11:33 include
-rw-r--r--.  1 root root  8694 8月   9 2014 INSTALL-BINARY
drwxr-xr-x.  3 root root  4096 2月  18 11:33 lib
drwxr-xr-x.  4 root root  4096 2月  18 11:34 man
drwxr-xr-x. 11 root root  4096 2月  18 11:34 mysql-test
-rw-r--r--.  1 root root 90897 8月   9 2014 README
drwxr-xr-x.  2 root root  4096 2月  18 11:33 scripts
drwxr-xr-x. 27 root root  4096 2月  18 11:33 share
drwxr-xr-x.  4 root root  4096 2月  18 11:34 sql-bench
drwxr-xr-x.  3 root root  4096 2月  18 11:33 support-files

[iyunv@node3 mysql]# cp support-files/my-large.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? yes

[iyunv@node3 mysql]# vim /etc/my.cnf
thread_concurrency = 8
datadir = /mydata/data
skip_name_relsove = ON
innodb_file_per_table = ON


复制服务
[iyunv@node3 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[iyunv@node3 mysql]# service mysqld start
Starting MySQL....                                         [确定]

安装程序
[iyunv@node3 mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data/

[iyunv@node3 mysql]# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH

[iyunv@node3 mysql]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.5-10.0.13-MariaDB-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

头文件
[iyunv@node3 mysql]# ln -sv /usr/local/mysql/include/ /usr/include/mysql
"/usr/include/mysql" -> "/usr/local/mysql/include/"

库文件

[iyunv@node3 mysql]# vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib

man文件
[iyunv@node3 mysql]# vim /etc/man.config
MANPATH /usr/local/mysql/man

————————————————————————————————————

mysql

(1)查看存储引擎
mysql> SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                                    | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| MRG_MyISAM         | YES     | Collection of identical MyISAM tables                                      | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| CSV                | YES     | CSV storage engine                                                         | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                                      | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                  | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                                         | NO           | NO   | NO         |
| Aria               | YES     | Crash-safe tables with MyISAM heritage                                     | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
7 rows in set (0.09 sec)

(2)root密码修修改
    1. set password=pasword('');

    2. update mysql.user set password=password('') where user="root"and host="localhost"
       flush privileges;
    3. #mysqladmin -uroot pssword "mima"

        mysqladmin -uroot -p"mima"

(3)删除空用户
    select host,user,password from mysql.user where password='';
    drop user ''@'localhost';


注意: 以上两个可以使用mysql_secure_installation
     a)为root用户设置密码
      b)删除匿名账号
      c)取消root用户远程登录
      d)删除test库和对test库的访问权限
      e)刷新授权表使修改生效

(4)跳过主机名反解
vim /etc/my.cnf
    skip_name_resovle = NO

    innodb_file_per_table = NO

    datadir = /mydata.data


(5)如何获取程序默认使用的配置:
    mysql --print-defaults
    mysqld --print-defaults
[iyunv@node3 ~]# mysql --print-defaults
mysql would have been started with the following arguments:
--port=3306 --socket=/tmp/mysql.sock --no-auto-rehash

[iyunv@node3 ~]# mysqld --print-defaults
mysqld would have been started with the following arguments:
--port=3306 --socket=/tmp/mysql.sock --skip-external-locking --key_buffer_size=256M --max_allowed_packet=1M --table_open_cache=256 --sort_buffer_size=1M --read_buffer_size=1M --read_rnd_buffer_size=4M --myisam_sort_buffer_size=64M --thread_cache_size=8 --query_cache_size=16M --thread_concurrency=8 --datadir=/mydata/data --skip_name_resolve=ON --innodb_file_per_table=ON --log-bin=mysql-bin --binlog_format=mixed --server-id=1

(7)客户端类应用程序的可用选项:
    -u, --user=
    -h, --host=
    -p, --passowrd=
    -P, --port=
    --protocol=
    -S, --socket=
    -D, --database=
    -C, --compress

当不需要联入数据库时;
[iyunv@node3 ~]# mysql -e "SHOW DATABASES;"

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| test               |
+--------------------+

(8)mysql的使用模式:
    交互式模式:
        可运行命令有两类:
            客户端命令:
                    \h, help或者\G
            服务器端命令:

                    SQL, 需要语句结束符;

    脚本模式:
         1. # mysql -uUSERNAME -hHOST -pPASSWORD < /path/from/somefile.sql
         2.  mysql> source /path/from/somefile.sql---是否有权限使用

(9)服务器端(mysqld):工作特性有多种定义方式
    命令行选项
    配置文件参数
        获取可用参数列表:

            mysqld --help --verbose
        [iyunv@node3 mysql]# /usr/local/mysql/bin/mysqld --help --verbose|less

/usr/local/mysql/bin/mysqld  Ver 10.0.13-MariaDB-log for Linux on x86_64 (Source distribution)
Copyright (c) 2000, 2014, Oracle, SkySQL Ab and others.

Starts the MariaDB database server.

Usage: /usr/local/mysql/bin/mysqld [OPTIONS]

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
The following groups are read: mysqld server mysqld-10.0 mariadb mariadb-10.0 client-server
The following options may be given as the first a()rgument:
--print-defaults        Print the program argument list and exit.
--no-defaults           Don't read default options from any option file.
--defaults-file=#       Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.

(10)获取运行中的mysql进程使用各服务器参数及其值:
    mysql> SHOW GLOBAL VARIABLES;
    mysql> SHOW [SESSION] VARIABLES;

    注意:其中有些参数支持运行时修改,会立即生效;有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效;
    有些参数作用域是全局的,且不可改变;有些可以为每个用户提供单独的设置;

(11)修改服务器变量的值:
    mysql> help SET

    全局:
        mysql> SET GLOBAL system_var_name=value;
        mysql> SET @@global.system_var_name=value;
    会话:
        mysql> SET [SESSION] system_var_name=value;

(12)状态变量:用于保存mysqld运行中的统计数据的变量;
    mysql> SHOW GLOBAL STATUS;
    mysql> SHOW [SESSION] STATUS;
MariaDB [(none)]> show global status;
+-----------------------------------------------+------------------+
| Variable_name                                 | Value            |
+-----------------------------------------------+------------------+
| Aborted_clients                               | 0                |
| Aborted_connects                              | 0                |
| Access_denied_errors                          | 0                |
| Aria_pagecache_blocks_not_flushed             | 0                |
| Aria_pagecache_blocks_unused                  | 15736            |
| Aria_pagecache_blocks_used                    | 2                |
| Aria_pagecache_read_requests                  | 44               |
| Aria_pagecache_reads                          | 1                |
| Aria_pagecache_write_requests                 | 2                |
| Aria_pagecache_writes                         | 0                |
| Aria_transaction_log_syncs                    | 0                |

(13)MySQL 数据类型:
        字符型
        数值型
        日期时间型
        内建类型

字符型:
    CHAR(255字符), BINARY:定长数据类型;(区分大小写)
    VARCHAR(65535字符), VARBINARY:变长数据类型;需要结束符(1/2);(区分大小写)
    TEXT:TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT(2^8;2^16;2^32;2^64)(不区分大小写)
    BLOB: TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB(2^8;2^16;2^32;2^64)(区分大小写)
    ENUM(固定选择), SET(内建字符)

附enum
QQ截图20160219083121.png

数值型:
    精确数值型:
            整型:TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT(2^8;2^16;2^32;2^64)
            十进制型:DECIMAL(g,f)(精确)
    近似数值型
                浮点型:
                    FLOAT(g,f)
                DOUBLE(g,f)
日期时间型:
            DATE(3个字节)
            TIME(3个字节)
            DATETIME(8个字节)
            TIMESTAMP
            YEAR(2), YEAR(4)

字符类型修饰符:跟在类型后面
            NOT NULL: 非空约束;
            NULL:默认
            DEFAULT 'STRING': 指明默认值;
            CHARACTER SET '':使用的字符集;(从数据库继承)
            COLLATION:使用的排序规则(从数据库继承)

            mysql> SHOW CHARACTER SET;(查看,选择)
            mysql> SHOW COLLATION;(查看,选择)

整型数据修饰型:
            NOT NULL
            NULL
            DEFAULT NUMBER

            AUTO_INCREMENT:
                    UNSIGNED--无符号
                    PRIMARY KEY|UNIQUE KEY
                    NOT NULL(UNIQUE KEY)

                mysql> SELECT LAST_INSERT_ID();-----上次自动到多少

日期时间型修饰符:
        NOT NULL
        NULL
        DEFAULT

内建类型SET和ENUM的修饰符:
        NOT NULL
        NULL
        DEFAULT

(14)SQL MODE:定义mysqld对约束等的响应行为;
    修改方式:
    mysql> SET GLOBAL sql_mode='MODE';
    mysql> SET @@global.sql_mode='MODE';
    需要修改权限;仅对修改后新创建的会话有效;对已经建立的会话无效;


    mysql> SET SESSION sql_mode='MODE';(对话,现有对话有效)
    mysql> SET @@session.sql_mode='MODE';

常用MODE:TRADITIONAL(不许对非法值插入), STRICT_TRANS_TABLES(对支持事务类型的表做严格约束), or STRICT_ALL_TABLES(对所有表做严格约束)

MariaDB [(none)]> show global variables like 'sql_mode';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| sql_mode      |       |
+---------------+-------+
1 row in set (0.00 sec)

实例:
MariaDB [(none)]> create database mydb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> use mydb;
Database changed
MariaDB [mydb]> create table t1 (
    -> id int unsigned auto_increment primary key not null,
    -> name char(5) not null);
Query OK, 0 rows affected (0.16 sec)

MariaDB [mydb]> insert into t1 (name) values ('tom'),('blackberry');

Query OK, 2 rows affected, 1 warning (0.07 sec)
Records: 2  Duplicates: 0  Warnings: 1

MariaDB [mydb]> show warnings;
+---------+------+-------------------------------------------+
| Level   | Code | Message                                   |
+---------+------+-------------------------------------------+
| Warning | 1265 | Data truncated for column 'name' at row 2 |
+---------+------+-------------------------------------------+
1 row in set (0.00 sec)

MariaDB [mydb]> select * from t1;
+----+-------+
| id | name  |
+----+-------+
|  1 | tom   |
|  2 | black |
+----+-------+
2 rows in set (0.00 sec)

实例2
MariaDB [mydb]> set sql_mode="traditional";-------只对当前会话有效
Query OK, 0 rows affected (0.00 sec)


MariaDB [mydb]> insert into t1 (name) values ('redberry');
ERROR 1406 (22001): Data too long for column 'name' at row 1

使用其他会话联入查看

MariaDB [(none)]> show variables like 'sql_mode';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| sql_mode      |       |
+---------------+-------+
1 row in set (0.00 sec)

(15)SQL: DDL, DML
DDL: 数据定义语言;
        CREATE, ALTER, DROP

        DB组件:数据库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器等

                        CREATE相关的常用命令:
                           CREATE DATABASE
                           CREATE EVENT
                           CREATE FUNCTION
                           CREATE FUNCTION UDF
                           CREATE INDEX
                           CREATE PROCEDURE
                           CREATE SERVER
                           CREATE TABLE
                           CREATE TABLESPACE
                           CREATE TRIGGER
                           CREATE USER
                           CREATE VIEW

DML:数据操作语言;
        INSERT, DELETE, UPDATE, SELECT

创建表:CREATE TABLE
    (1) 直接创建;
    (2) 通过查询现存的表创建;新表会被直接插入查询而来的数据;
            CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
                [(create_definition,...)]
                [table_options]
                [partition_options]
                select_statement                                                                               
    (3) 通过复制现存的表的表结构创建;不复制数据;
            CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
                   { LIKE old_tbl_name | (LIKE old_tbl_name) }


   注意:Storage Engine是指表类型,也即在表创建时指明其使用的存储引擎;
           同一个库中表要使用同一种存储引擎类型;

查看默认引擎
MariaDB [mydb]> show global variables like '%def%';
+------------------------+--------+
| Variable_name          | Value  |
+------------------------+--------+
| default_regex_flags    |        |
| default_storage_engine | InnoDB |
| default_week_format    | 0      |
| table_definition_cache | 400    |
+------------------------+--------+

(16)查看表结构:
           DESCRIBE tbl_name;

(17)查看表状态信息:
SHOW [FULL] TABLES [{FROM | IN} db_name] [LIKE 'pattern' | WHERE expr]
MariaDB [mydb]> show table status like "t1"\G
*************************** 1. row ***************************
           Name: t1
         Engine: InnoDB
        Version: 10
     Row_format: Compact
           Rows: 3
Avg_row_length: 5461
    Data_length: 16384
Max_data_length: 0
   Index_length: 0
      Data_free: 0
Auto_increment: 4
    Create_time: 2016-02-19 00:32:01
    Update_time: NULL
     Check_time: NULL
      Collation: latin1_swedish_ci
       Checksum: NULL
Create_options:
        Comment:
1 row in set (0.00 sec)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-179783-1-1.html 上篇帖子: mysql主从失败使用bin-log恢复 下篇帖子: MYSQL-MMM主从同步部署mysql高用集群 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表