您的位置:首页 > 数据库 > MySQL

MySQL的安装

2016-03-06 14:57 666 查看
##一、MySQL的发版机制

二进制、预编译、成熟		  源码、自编译、定制
Linux	 .rpm/.dmg/.deb/.pkg			  .tar.gz
Windows			.msi					.tar.gz

概括来说,mysql在linux系统上的安装分为两大类,预编译安装和自编译安装。预编译安装又分为rpm包,二进制包和yum安装三种方式。但是这三种方式从本质上来说是一样的而且安装速度比较快。自编译安装即自己下载mysql的源码进行编译安装。
##二、编译安装
系统:centos6.4(关闭防火墙,关闭selinux) mysql源码:mysql-5.6.27.tar.gz

(一)准备工作

1.删除系统自带mysql
-> rpm -qa|grep mysql
-> qt-mysql-4.6.2-25.el6.x86_64
mysql-server-5.1.66-2.el6_3.x86_64
mysql-libs-5.1.66-2.el6_3.x86_64
mysql-5.1.66-2.el6_3.x86_64
-> rpm -e --nodeps qt-mysql-4.6.2-25.el6.x86_64 mysql-server-5.1.66-2.el6_3.x86_64 mysql-libs-5.1.66-2.el6_3.x86_64 mysql-5.1.66-2.el6_3.x86_64
2.准备编译环境
-> yum -y install make gcc-c++ cmake bison-devel ncurses-devel gcc autoconf automake zlib* libxml* libtool-ltdl-devel* bison
我在每次安装编译环境的时候使用这条命令时,不知为何,总会漏掉ncurse-devel这个软件,直接cmake的话,会提示报错,所以为了保险起见,请再执行下面一条命令,单独安装ncurse-devel
-> yum -y install ncurse-devel

(二)准备文件目录

- 新建mysql安装目录
-> mkdir -p /usr/local/mysql  在CMAKE中指定了,这步可以不做
- 新建mysql数据库数据文件目录
-> mkdir -p /data/mysqldb
-> tar -zxvf mysql-5.6.27.tar.gz
-> cd mysql-5.6.27

(三)编译

将tar.gz包放入/home目录,然后解压
-> cd /home
-> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_bin -DEXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
最后出现
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mysql-5.6.27
即成功;然后进行编译和安装:
make && make install

###(四) 部署目录
1.初始化
-> cd /usr/local/mysql

-> adduser mysql -g mysql
-> adduser mysql.mysql
-> chown mysql.mysql /usr/local/mysql
2.数据目录 修改mysql数据库文件目录
-> cd /data/mysqldb

-> chown -R mysql:mysql .

-> cd /usr/local/mysql
-> scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
3.复制mysql服务启动配置文件
-> cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
编辑/etc/my.cnf文件,将basedir,datadir等参数写入配置文件
4.复制mysql服务启动脚本及加入PATH路径
-> cp support-files/mysql.server /etc/init.d/mysql
-> cp /usr/local/mysql/bin/mysql /usr/bin/mysql
5.启动mysql服务
-> service mysql start

-> chkconfig --level 35 mysql on (设置开机自启)
6.检查mysql服务是否启动
-> ps -ef|grep mysql
-> netstat -tulnp | grep 3306

###(五) 服务启动
-> mysql -u root -p
-> mysql> grant ALL PRIVILEGES on . to 'mysql'@'%' Identified by "123456" WITH GRANT OPTION;
###(六) 修改密码
-> mysql -uroot  -h127.0.0.1 -p
-> mysql> SET PASSWORD = PASSWORD('123456');
  

##三、二进制rpm安装

###(一) rpm二进制安装
server mysqld
client mysql /mysqladmin /mysqldump /…
devel perl module …
shared libmysqlclient.so*
shared-compat 3.23 /4.0 /5.0 …
embedded embedded

###(二) 主要的rpm包有以下内容
* MySQL-client-5.6.26-1.el6.x86_64.rpm
* MySQL-devel-5.6.26-1.el6.x86_64.rpm
* MySQL-embedded-5.6.26-1.el6.x86_64.rpm
* MySQL-server-5.6.26-1.el6.x86_64.rpm
* MySQL-shared-5.6.26-1.el6.x86_64.rpm
* MySQL-shared-compat-5.6.26-1.el6.x86_64.rpm
* MySQL-test-5.6.26-1.el6.x86_64.rpm

-> rpm -ihUv MySQL-shared-compat-5.6.26-1.el6.x86_64.rpm
-> rpm -ihUv MySQL-client-5.6.26-1.el6.x86_64.rpm
-> rpm -ihUv MySQL-server-5.6.26-1.el6.x86_64.rpm

##四、yum安装
md5:
1cbcf6b4ae7592b9ac100d9e7cd2ceb4


-> wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm -> md5sum mysql-community-release-el6-5.noarch.rpm
1cbcf6b4ae7592b9ac100d9e7cd2ceb4  mysql-community-release-el6-5.noarch.rpm
-> rpm -ihUv mysql-community-release-el6-5.noarch.rpm
-> yum install mysql-server

> 安装`mysql-server`会自动安装`mysql-client`
> 数据库启动之后,会创建一个**空密码**的`root@localhost`账号,我们应该尽快修改.
1	mysql -uroot  -h127.0.0.1 -p
2	mysql> SET PASSWORD = PASSWORD('123456');

##五、备用知识
###(一)编译选项含义
在mysql的编译安装中,有五种编译选项,如下:
1.General:
-DBUILD_CONFIG=mysql_release

2.Installation Layout:

-DMYSQL_DATADIR=/usr/local/mysql/data/

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/
3.Storage Engine:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
4.Feature:
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_bin
5.Compiler:
-DCMAKE_C_FLAGS=-m32 (32or64位)
###(二)配置文件读取顺序
1.-> /etc/my.cnf
2.-> /etc/mysql/my.cnf
3.-> $MYSQL_HOME/my.cnf
4.-> --defaults-extra-file=/…/…/xxxx.cnf
5.-> ~/.my.cnf
###(三)MySQL修改root密码的多种方法
方法1 用SET PASSWORD命令
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2 用mysqladmin
mysqladmin -u root password "newpass"
如果root已经设置过密码,采用如下方法
mysqladmin -u root password oldpass "newpass"
方法3 用UPDATE直接编辑user表
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
-> mysqld_safe --skip-grant-tables&
-> mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
mysql> FLUSH PRIVILEGES;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: