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、配置环境和创建用户
[[email protected] ~]# mkdir /opt/mysql [[email protected] ~]# mkdir /mysqldata [[email protected] ~]# groupadd mysql [[email protected] ~]# useradd -r -g mysql -s /bin/flase mysql [[email protected] ~]# chown mysql:mysql /opt/mysql [[email protected] ~]# chown mysql:mysql /mysqldata --关闭selinux [[email protected] ~]# vi /etc/selinux/config SELINUX=disabled --配置环境变量 [[email protected] scripts]# vi ~/.bash_profile --添加下面两条 export MYSQL_PATH=/opt/mysql/mysql5.6.18 export PATH=$PATH:$MYSQL_PATH/bin [[email protected] scripts]# source ~/.bash_profile
2、上传并解压安装包
[[email protected] ~]# cd /opt/mysql/ [[email protected] mysql]# ls mysql-advanced-5.6.18-linux-glibc2.5-x86_64.tar.gz [[email protected] 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 ...... [[email protected] mysql]# mv mysql-advanced-5.6.18-linux-glibc2.5-x86_64 mysql5.6.18 [[email protected] 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 [[email protected] mysql]# chown -R mysql:mysql mysql5.6.18/ [[email protected] 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
[[email protected] mysql]# cd /opt/mysql/mysql5.6.18/support-files/ [[email protected] support-files]# ls binary-configure magic my-default.cnf mysqld_multi.server mysql-log-rotate mysql.server solaris [[email protected] support-files]# cd /opt/mysql/mysql5.6.18/scripts/ [[email protected] scripts]# ls mysql_install_db [[email protected] 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、复制相关文件
[[email protected] scripts]# cp /opt/mysql/mysql5.6.18/support-files/mysql.server /etc/init.d/mysqld [[email protected] 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服务时会报错。
5、修改参数
[[email protected] scripts]# vi /etc/init.d/mysqld ##修改下面两个参数如下 basedir=/opt/mysql/mysql5.6.18 datadir=/mysqldata
6、加入开机启动
[[email protected] scripts]# chkconfig --levels 235 mysqld on [[email protected] scripts]# chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
7、启动mysql服务
[[email protected] scripts]# service mysqld start Starting MySQL. SUCCESS!
8、连接mysql
[[email protected] 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
时间: 2024-10-31 23:33:36