共计 7015 个字符,预计需要花费 18 分钟才能阅读完成。
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 |
摘自 深入浅出 MySQL PDF 下载见 http://www.linuxidc.com/Linux/2016-05/130922.htm
1、配置环境和创建用户
[root@rhel6 ~]# mkdir /opt/mysql
[root@rhel6 ~]# mkdir /mysqldata
[root@rhel6 ~]# groupadd mysql
[root@rhel6 ~]# useradd -r -g mysql -s /bin/flase mysql
[root@rhel6 ~]# chown mysql:mysql /opt/mysql
[root@rhel6 ~]# chown mysql:mysql /mysqldata
– 关闭 selinux
[root@rhel6 ~]# vi /etc/selinux/config
SELINUX=disabled
– 配置环境变量
[root@rhel6 scripts]# vi ~/.bash_profile
– 添加下面两条
export MYSQL_PATH=/opt/mysql/mysql5.6.18
export PATH=$PATH:$MYSQL_PATH/bin
[root@rhel6 scripts]# source ~/.bash_profile
2、上传并解压安装包
[root@rhel6 ~]# cd /opt/mysql/
[root@rhel6 mysql]# ls
mysql-advanced-5.6.18-linux-glibc2.5-x86_64.tar.gz
[root@rhel6 mysql]# tar -zxvf mysql-advanced-5.6.18-linux-glibc2.5-x86_64.tar.gz
mysql-advanced-5.6.18-linux-glibc2.5-x86_64/bin/mysql_convert_table_format
mysql-advanced-5.6.18-linux-glibc2.5-x86_64/bin/mysql_client_test
mysql-advanced-5.6.18-linux-glibc2.5-x86_64/bin/mysqlhotcopy
mysql-advanced-5.6.18-linux-glibc2.5-x86_64/bin/mysqladmin
mysql-advanced-5.6.18-linux-glibc2.5-x86_64/bin/msql2mysql
……
[root@rhel6 mysql]# mv mysql-advanced-5.6.18-linux-glibc2.5-x86_64 mysql5.6.18
[root@rhel6 mysql]# ll
total 306412
drwxr-xr-x 13 root root 4096 Nov 13 20:38 mysql5.6.18
-rw-r–r– 1 root root 313754429 Nov 13 20:37 mysql-advanced-5.6.18-linux-glibc2.5-x86_64.tar.gz
[root@rhel6 mysql]# chown -R mysql:mysql mysql5.6.18/
[root@rhel6 mysql]# ll
total 306412
drwxr-xr-x 13 mysql mysql 4096 Nov 13 20:38 mysql5.6.18
-rw-r–r– 1 root root 313754429 Nov 13 20:37 mysql-advanced-5.6.18-linux-glibc2.5-x86_64.tar.gz
3、安装 mysql
[root@rhel6 mysql]# cd /opt/mysql/mysql5.6.18/support-files/
[root@rhel6 support-files]# ls
binary-configure magic my-default.cnf mysqld_multi.server mysql-log-rotate mysql.server solaris
[root@rhel6 support-files]# cd /opt/mysql/mysql5.6.18/scripts/
[root@rhel6 scripts]# ls
mysql_install_db
[root@rhel6 scripts]# ./mysql_install_db –user=mysql –basedir=/opt/mysql/mysql5.6.18 –datadir=/mysqldata
WARNING: The host ‘rhel6’ could not be looked up with /opt/mysql/mysql5.6.18/bin/resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MySQL version. The MySQL daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MySQL privileges !
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 for more details).2016-11-13 20:42:18 1421 [Note] InnoDB: Using atomics to ref count buffer pool pages
……
OK
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 for more details).
……
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/opt/mysql/mysql5.6.18/bin/mysqladmin -u root password ‘new-password’
/opt/mysql/mysql5.6.18/bin/mysqladmin -u root -h rhel6 password ‘new-password’
Alternatively you can run:
/opt/mysql/mysql5.6.18/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; /opt/mysql/mysql5.6.18/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems at http://bugs.mysql.com/
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
New default config file was created as /opt/mysql/mysql5.6.18/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings
WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
–defaults-file argument to mysqld_safe when starting the server
可以看到安装完成后 mysql 会给出一些提示、建议。
4、复制相关文件
[root@rhel6 scripts]# cp /opt/mysql/mysql5.6.18/support-files/mysql.server /etc/init.d/mysqld
[root@rhel6 scripts]# cp /opt/mysql/mysql5.6.18/support-files/my-default.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf’? yes
注意不要使用系统自带的 /etc/my.cnf 文件,否则启动 mysql 服务时会报错。
Starting MySql.. ERROR! The server quit without updating PID file(/var/mysql/data/rhel6.pid).
5、修改参数
[root@rhel6 scripts]# vi /etc/init.d/mysqld
## 修改下面两个参数如下
basedir=/opt/mysql/mysql5.6.18
datadir=/mysqldata
6、加入开机启动
[root@rhel6 scripts]# chkconfig –levels 235 mysqld on
[root@rhel6 scripts]# chkconfig –list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
7、启动 mysql 服务
[root@rhel6 scripts]# service mysqld start
Starting MySQL. SUCCESS!
8、连接 mysql
[root@rhel6 scripts]# mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.18-enterprise-commercial-advanced MySQL Enterprise Server – Advanced Edition (Commercial)
Copyright (c) 2000, 2014, 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> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| test |
+——————–+
4 rows in set (0.00 sec)
9、mysql 的帮助
1. 用“?contents”命令来显示所有可供查询的的分类
mysql> ? contents
You asked for help about help category: “Contents”
For more information, type ‘help <item>’, where <item> is one of the following
categories:
Account Management
Administration
Compound Statements
Data Definition
Data Manipulation
Data Types
Functions
Functions and Modifiers for Use with GROUP BY
Geographic Features
Help Metadata
Language Structure
Plugins
Procedures
Storage Engines
Table Maintenance
Transactions
User-Defined Functions
Utility
mysql> help data types
You asked for help about help category: “Data Types”
For more information, type ‘help <item>’, where <item> is one of the following
topics:
AUTO_INCREMENT
BIGINT
BINARY
BIT
BLOB
BLOB DATA TYPE
BOOLEAN
CHAR
CHAR BYTE
DATE
DATETIME
DEC
DECIMAL
DOUBLE
DOUBLE PRECISION
ENUM
FLOAT
INT
INTEGER
LONGBLOB
LONGTEXT
MEDIUMBLOB
MEDIUMINT
MEDIUMTEXT
SET DATA TYPE
SMALLINT
TEXT
TIME
TIMESTAMP
TINYBLOB
TINYINT
TINYTEXT
VARBINARY
VARCHAR
YEAR DATA TYPE
mysql> help int
Name: ‘INT’
Description:
INT[(M)] [UNSIGNED] [ZEROFILL]
A normal-size integer. The signed range is -2147483648 to 2147483647.
The unsigned range is 0 to 4294967295.
URL: http://dev.mysql.com/doc/refman/5.6/en/numeric-type-overview.html
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/140523.htm