天天看点

Mysql 5.6.18解压包版在Rhel6.7上安装

Mysql的安装方式有三种:RPM包、二进程包和源码包。

RPM

二进制

源码

优点

安装简单,适合初学者学习使用

安装简单;可以安装到任何路径下,灵活性好;一台服务器可以安装多个MySQL

在实际安装的操作系统进行可根据需要定制编译,最灵活;性能最好;一台服务器可以安装多个MySQL

缺点

需要单独下载客户端和服务器;安装路径不灵活,默认路径不能修改,一台服务器只能安装一个MySQL

已经经过编译,性能不如源码编译得好;不能灵活定制编译参数

安装过程较复杂;编译时间长

文件布局

/usr/bin(客户端程序和脚本)

/usr/sbin(mysqld服务器)/var/lib/mysql(日志文件和数据库)/usr/share/doc/packages(文档)

/usr/include/mysql(包含(头)文件)

/usr/lib/mysql(库文件)/usr/share/mysql(错误消息和字符集文件)/usr/share/sql-bench(基准程序)

bin(客户端程序和mysqld服务器)

data(日志文件和数据库)docs(文档和ChangeLog)include(包含(头)文件)lib(库文件)

scripts (mysql_install_db脚本,用来安装系统数据库)

share/mysql(错误消息文件)

sql-bench(基准程序)

bin(客户端程序和脚本)include/mysql(包含(头)文件)

info(Info格式的文档)lib/mysql(库文件)

libexec(mysqld服务器)、share/mysql(错误消息文件)

sql-bench(基准程序和crash-me测试)

var(数据库和日志文件)

摘自深入浅出MySQL

1、配置环境和创建用户

<code>[root@rhel6 ~]</code><code># mkdir /opt/mysql</code>

<code>[root@rhel6 ~]</code><code># mkdir /mysqldata</code>

<code>[root@rhel6 ~]</code><code># groupadd mysql</code>

<code>[root@rhel6 ~]</code><code># useradd -r -g mysql -s /bin/flase mysql</code>

<code>[root@rhel6 ~]</code><code># chown mysql:mysql /opt/mysql</code>

<code>[root@rhel6 ~]</code><code># chown mysql:mysql /mysqldata</code>

<code>--关闭selinux</code>

<code>[root@rhel6 ~]</code><code># vi /etc/selinux/config </code>

<code>SELINUX=disabled</code>

<code>--配置环境变量</code>

<code>[root@rhel6 scripts]</code><code># vi ~/.bash_profile </code>

<code>--添加下面两条</code>

<code>export</code> <code>MYSQL_PATH=</code><code>/opt/mysql/mysql5</code><code>.6.18</code>

<code>export</code> <code>PATH=$PATH:$MYSQL_PATH</code><code>/bin</code>

<code>[root@rhel6 scripts]</code><code># source ~/.bash_profile</code>

2、上传并解压安装包

<code>[root@rhel6 ~]</code><code># cd /opt/mysql/</code>

<code>[root@rhel6 mysql]</code><code># ls</code>

<code>mysql-advanced-5.6.18-linux-glibc2.5-x86_64.</code><code>tar</code><code>.gz</code>

<code>[root@rhel6 mysql]</code><code># tar -zxvf mysql-advanced-5.6.18-linux-glibc2.5-x86_64.tar.gz </code>

<code>mysql-advanced-5.6.18-linux-glibc2.5-x86_64</code><code>/bin/mysql_convert_table_format</code>

<code>mysql-advanced-5.6.18-linux-glibc2.5-x86_64</code><code>/bin/mysql_client_test</code>

<code>mysql-advanced-5.6.18-linux-glibc2.5-x86_64</code><code>/bin/mysqlhotcopy</code>

<code>mysql-advanced-5.6.18-linux-glibc2.5-x86_64</code><code>/bin/mysqladmin</code>

<code>mysql-advanced-5.6.18-linux-glibc2.5-x86_64</code><code>/bin/msql2mysql</code>

<code>......</code>

<code>[root@rhel6 mysql]</code><code># mv mysql-advanced-5.6.18-linux-glibc2.5-x86_64 mysql5.6.18</code>

<code>[root@rhel6 mysql]</code><code># ll</code>

<code>total 306412</code>

<code>drwxr-xr-x 13 root root      4096 Nov 13 20:38 mysql5.6.18</code>

<code>-rw-r--r--  1 root root 313754429 Nov 13 20:37 mysql-advanced-5.6.18-linux-glibc2.5-x86_64.</code><code>tar</code><code>.gz</code>

<code>[root@rhel6 mysql]</code><code># chown -R mysql:mysql mysql5.6.18/</code>

<code>drwxr-xr-x 13 mysql mysql      4096 Nov 13 20:38 mysql5.6.18</code>

<code>-rw-r--r--  1 root  root  313754429 Nov 13 20:37 mysql-advanced-5.6.18-linux-glibc2.5-x86_64.</code><code>tar</code><code>.gz</code>

3、安装mysql

<code>[root@rhel6 mysql]</code><code># cd /opt/mysql/mysql5.6.18/support-files/</code>

<code>[root@rhel6 support-files]</code><code># ls</code>

<code>binary-configure  magic  my-default.cnf  mysqld_multi.server  mysql-log-rotate  mysql.server  solaris</code>

<code>[root@rhel6 support-files]</code><code># cd /opt/mysql/mysql5.6.18/scripts/</code>

<code>[root@rhel6 scripts]</code><code># ls</code>

<code>mysql_install_db</code>

<code>[root@rhel6 scripts]</code><code># ./mysql_install_db --user=mysql --basedir=/opt/mysql/mysql5.6.18 --datadir=/mysqldata</code>

<code>WARNING: The host </code><code>'rhel6'</code> <code>could not be looked up with </code><code>/opt/mysql/mysql5</code><code>.6.18</code><code>/bin/resolveip</code><code>.</code>

<code>This probably means that your libc libraries are not 100 % compatible</code>

<code>with this binary MySQL version. The MySQL daemon, mysqld, should work</code>

<code>normally with the exception that host name resolving will not work.</code>

<code>This means that you should use IP addresses instead of hostnames</code>

<code>when specifying MySQL privileges !</code>

<code>Installing MySQL system tables...2016-11-13 20:42:18 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation </code><code>for</code> <code>more</code> <code>details).2016-11-13 20:42:18 1421 [Note] InnoDB: Using atomics to ref count buffer pool pages</code>

<code>OK</code>

<code>Filling help tables...2016-11-13 20:42:21 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation </code><code>for</code> <code>more</code> <code>details).</code>

<code>To start mysqld at boot </code><code>time</code> <code>you have to copy</code>

<code>support-files</code><code>/mysql</code><code>.server to the right place </code><code>for</code> <code>your system</code>

<code>PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !</code>

<code>To </code><code>do</code> <code>so, start the server, </code><code>then</code> <code>issue the following commands:</code>

<code>  </code><code>/opt/mysql/mysql5</code><code>.6.18</code><code>/bin/mysqladmin</code> <code>-u root password </code><code>'new-password'</code>

<code>  </code><code>/opt/mysql/mysql5</code><code>.6.18</code><code>/bin/mysqladmin</code> <code>-u root -h rhel6 password </code><code>'new-password'</code>

<code>Alternatively you can run:</code>

<code>  </code><code>/opt/mysql/mysql5</code><code>.6.18</code><code>/bin/mysql_secure_installation</code>

<code>which</code> <code>will also give you the option of removing the </code><code>test</code>

<code>databases and anonymous user created by default.  This is</code>

<code>strongly recommended </code><code>for</code> <code>production servers.</code>

<code>See the manual </code><code>for</code> <code>more</code> <code>instructions.</code>

<code>You can start the MySQL daemon with:</code>

<code>  </code><code>cd</code> <code>. ; </code><code>/opt/mysql/mysql5</code><code>.6.18</code><code>/bin/mysqld_safe</code> <code>&amp;</code>

<code>You can </code><code>test</code> <code>the MySQL daemon with mysql-</code><code>test</code><code>-run.pl</code>

<code>  </code><code>cd</code> <code>mysql-</code><code>test</code> <code>; perl mysql-</code><code>test</code><code>-run.pl</code>

<code>Please report any problems at http:</code><code>//bugs</code><code>.mysql.com/</code>

<code>The latest information about MySQL is available on the web at</code>

<code>  </code><code>http:</code><code>//www</code><code>.mysql.com</code>

<code>Support MySQL by buying support</code><code>/licenses</code> <code>at http:</code><code>//shop</code><code>.mysql.com</code>

<code>New default config </code><code>file</code> <code>was created as </code><code>/opt/mysql/mysql5</code><code>.6.18</code><code>/my</code><code>.cnf and</code>

<code>will be used by default by the server when you start it.</code>

<code>You may edit this </code><code>file</code> <code>to change server settings</code>

<code>WARNING: Default config </code><code>file</code> <code>/etc/my</code><code>.cnf exists on the system</code>

<code>This </code><code>file</code> <code>will be </code><code>read</code> <code>by default by the MySQL server</code>

<code>If you </code><code>do</code> <code>not want to use this, either remove it, or use the</code>

<code>--defaults-</code><code>file</code> <code>argument to mysqld_safe when starting the server</code>

可以看到安装完成后mysql会给出一些提示、建议。

4、复制相关文件

<code>[root@rhel6 scripts]</code><code># cp /opt/mysql/mysql5.6.18/support-files/mysql.server /etc/init.d/mysqld</code>

<code>[root@rhel6 scripts]</code><code># cp /opt/mysql/mysql5.6.18/support-files/my-default.cnf /etc/my.cnf </code>

<code>cp</code><code>: overwrite `</code><code>/etc/my</code><code>.cnf'? </code><code>yes</code>

注意不要使用系统自带的/etc/my.cnf文件,否则启动mysql服务时会报错。

Starting MySql.. ERROR! The server quit without updating PID file(/var/mysql/data/rhel6.pid).

5、修改参数

<code>[root@rhel6 scripts]</code><code># vi /etc/init.d/mysqld</code>

<code>##修改下面两个参数如下</code>

<code>basedir=</code><code>/opt/mysql/mysql5</code><code>.6.18</code>

<code>datadir=</code><code>/mysqldata</code>

6、加入开机启动

<code>[root@rhel6 scripts]</code><code># chkconfig --levels 235 mysqld on</code>

<code>[root@rhel6 scripts]</code><code># chkconfig --list mysqld</code>

<code>mysqld             0:off   1:off   2:on    3:on    4:on    5:on    6:off</code>

7、启动mysql服务

<code>[root@rhel6 scripts]</code><code># service mysqld start</code>

<code>Starting MySQL. SUCCESS!</code>

8、连接mysql

<code>[root@rhel6 scripts]</code><code># mysql -uroot</code>

<code>Welcome to the MySQL monitor.  Commands end with ; or \g.</code>

<code>Your MySQL connection </code><code>id</code> <code>is 1</code>

<code>Server version: 5.6.18-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)</code>

<code>Copyright (c) 2000, 2014, Oracle and</code><code>/or</code> <code>its affiliates. All rights reserved.</code>

<code>Oracle is a registered trademark of Oracle Corporation and</code><code>/or</code> <code>its</code>

<code>affiliates. Other names may be trademarks of their respective</code>

<code>owners.</code>

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

<code>mysql&gt; show databases;</code>

<code>+--------------------+</code>

<code>| Database           |</code>

<code>| information_schema |</code>

<code>| mysql              |</code>

<code>| performance_schema |</code>

<code>| </code><code>test</code>               <code>|</code>

<code>4 rows </code><code>in</code> <code>set</code> <code>(0.00 sec)</code>

9、mysql的帮助

<code>1.用“?contents”命令来显示所有可供查询的的分类</code>

<code>mysql&gt; ? contents</code>

<code>You asked </code><code>for</code> <code>help about help category: </code><code>"Contents"</code>

<code>For </code><code>more</code> <code>information, </code><code>type</code> <code>'help &lt;item&gt;'</code><code>, where &lt;item&gt; is one of the following</code>

<code>categories:</code>

<code>   </code><code>Account Management</code>

<code>   </code><code>Administration</code>

<code>   </code><code>Compound Statements</code>

<code>   </code><code>Data Definition</code>

<code>   </code><code>Data Manipulation</code>

<code>   </code><code>Data Types</code>

<code>   </code><code>Functions</code>

<code>   </code><code>Functions and Modifiers </code><code>for</code> <code>Use with GROUP BY</code>

<code>   </code><code>Geographic Features</code>

<code>   </code><code>Help Metadata</code>

<code>   </code><code>Language Structure</code>

<code>   </code><code>Plugins</code>

<code>   </code><code>Procedures</code>

<code>   </code><code>Storage Engines</code>

<code>   </code><code>Table Maintenance</code>

<code>   </code><code>Transactions</code>

<code>   </code><code>User-Defined Functions</code>

<code>   </code><code>Utility</code>

<code>mysql&gt; help data types</code>

<code>You asked </code><code>for</code> <code>help about help category: </code><code>"Data Types"</code>

<code>topics:</code>

<code>   </code><code>AUTO_INCREMENT</code>

<code>   </code><code>BIGINT</code>

<code>   </code><code>BINARY</code>

<code>   </code><code>BIT</code>

<code>   </code><code>BLOB</code>

<code>   </code><code>BLOB DATA TYPE</code>

<code>   </code><code>BOOLEAN</code>

<code>   </code><code>CHAR</code>

<code>   </code><code>CHAR BYTE</code>

<code>   </code><code>DATE</code>

<code>   </code><code>DATETIME</code>

<code>   </code><code>DEC</code>

<code>   </code><code>DECIMAL</code>

<code>   </code><code>DOUBLE</code>

<code>   </code><code>DOUBLE PRECISION</code>

<code>   </code><code>ENUM</code>

<code>   </code><code>FLOAT</code>

<code>   </code><code>INT</code>

<code>   </code><code>INTEGER</code>

<code>   </code><code>LONGBLOB</code>

<code>   </code><code>LONGTEXT</code>

<code>   </code><code>MEDIUMBLOB</code>

<code>   </code><code>MEDIUMINT</code>

<code>   </code><code>MEDIUMTEXT</code>

<code>   </code><code>SET DATA TYPE</code>

<code>   </code><code>SMALLINT</code>

<code>   </code><code>TEXT</code>

<code>   </code><code>TIME</code>

<code>   </code><code>TIMESTAMP</code>

<code>   </code><code>TINYBLOB</code>

<code>   </code><code>TINYINT</code>

<code>   </code><code>TINYTEXT</code>

<code>   </code><code>VARBINARY</code>

<code>   </code><code>VARCHAR</code>

<code>   </code><code>YEAR DATA TYPE</code>

<code>mysql&gt; help int</code>

<code>Name: </code><code>'INT'</code>

<code>Description:</code>

<code>INT[(M)] [UNSIGNED] [ZEROFILL]</code>

<code>A normal-size integer. The signed range is -2147483648 to 2147483647.</code>

<code>The unsigned range is 0 to 4294967295.</code>

<code>URL: http:</code><code>//dev</code><code>.mysql.com</code><code>/doc/refman/5</code><code>.6</code><code>/en/numeric-type-overview</code><code>.html</code>

      本文转自hbxztc 51CTO博客,原文链接:http://blog.51cto.com/hbxztc/1872429,如需转载请自行联系原作者