====5.6 安装方式=======
mysql源码安装与使用
注:该安装过程是标准的,正确的!
MySQL自5.5版本以后,就开始使用CMake编译工具了 下载地址:https://cmake.org/download/
1. 源码安装原因
由于一些Linux操作系统并不自带MySQL数据库,或者有些电脑(如国产龙芯,基于MIPS指令系统)并不支持MySQL官方提供的RPM包的安装,因此需要使用源码进行重编译,然后安装使用
2. mysql 5.5.17 源码下载
1、下载地址:http://www.mysql.com/downloads/mysql/ 进入MySQL Community Server下载页面,在Select Platform选项中选择Source Code
2、 选择最后一项.tar.gz的文件,如下图
3、点击Download进入镜像链接页面,随便选择一个镜像进行下载到本地磁盘
3. mysql 5.5.17 源码安装
1、 创建mysql安装目录
此处的安装目录可以任选,如果是默认安装则在/usr/local/mysql下
# mkdir -p /usr/local/mysql/
2、 创建数据存放目录
# mkdir -p /service/mysql/
3、创建用户和用户组与赋予数据存放目录权限
# groupadd mysql
# useradd -g mysql mysql
# chown mysql.mysql -R /service/mysql/
3.1 安装依赖包: yum install gcc* make*
3.2 设置操作系统资源的限制:
vi /etc/security/limits.conf
mysql soft nproc 2047
mysql hard nproc 16384
mysql soft nofile 1024
mysql hard nofile 65536
4、安装cmake
mysql5.5以后是通过cmake工具来编译的, CMake 是个跨平台的自动化建构系统,它用组态档(生成Makefile文件的特殊脚本)控制建构过程,对mysql的源码进行build Process(构建),然后生成Makefile文件.
Cmake下载地址: http://www.cmake.org/cmake/resources/software.html
选择Unix/Linux Source中.tar.gz文件进行下载最新版本,然后将其解压缩到本地,并配置、安装,以下是相关命令
# tar zxvf cmake-2.8.6.tar.gz
# cd cmake-2.8.6
#./configure --prefix=/usr/local/cmake => 需要yum install gcc*
# gmake && make install
5、编辑mysql
进入MySQL解压目录下,使用cmake来对mysql的安装目录、数据存放、配置文件、系统语言等相关信息进行编辑,以下是相关指令:
以下是编辑命令的集合,可以直接拷贝、粘贴并执行,注意的是安装目录与数据目录的位置
#cd /usr/src/mysql.5.6.31
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_unicode_ci
-DENABLED_LOCAL_INFILE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DCOMPILATION_COMMENT='JSS for mysqltest' --编译环境的描述性注释
-DWITH_READLINE=ON
-DSYSCONFDIR=/etc
-DMYSQL_DATADIR=/service/data/
-DMYSQL_UNIX_ADDR=/service/data/mysqld.sock --指定socket文档存放路径,默认为/tmp/mysq.sock
-DMYSQL_TCP_PORT=3308
-DWITH_DEBUG=0
注: mysql源码编译时支持的参数,执行cmake命令时,可以指定很多参数,如果想查看所有支持的参数,可执行cmake .-LAH 。
--在mysql soft 目录下执行。--跟据报错来 编译需要的参数
执行以上命令,将构建MySQL源码中的Makefile文件。
选项说明:
常使用的参数:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql | mysql安装的主目录,5.5.17版本默认为/usr/local/mysql,(可省略),编辑安装之后感觉路径不合适,只要mysql进程没有启动,随时可以修改。 |
-DDEFAULT_CHARSET | 制定mysql服务默认字符集,默认参数值为latin1,详细可以参考mysql源码目录下,cmake/character_sets.cmake 文件中set(CHARSETS_AVAILABLE)变量值. 这一选项,也可以在mysql服务启动时,通过参数 character_set_server 进行设置。 |
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8-general_ci | 数据库编码设置 |
-DDEFAULT_COLLATION | 制定mysql 服务的默认校对规则,默认为:latin1_swedish_ci, 此选项也可在mysql服务启动时通过collation_server参数修改 |
-DMYSQL_TCP_PORT=3306 | 数据库服务器TCP/IP连接的监听端口,默认为3306(可省略) |
-DENABLED_LOCAL_INFILE=1 | 是否允许从客户端本地加载数据到mysql服务端,专用于LOAD DATA INFILE语句,默认是关闭的。这里开启 |
-DENABLED_PROFILING | 是否启动 query profiling ,专用于show profile 和show profiles语句,默认是启用。 |
-DMYSQL_DATADIR | 指定 mysql 数据库数据文件的存储路径,这一选项在mysql 服务启动时,通过datadir参数可以设置。 |
-DSYSCONFDIR=/etc | 指定mysql参数配置文件 my.cnf 默认路径,这一选项可以在mysql服务启动时 通过defaults-file 参数设置。,默认/etc下(可省略) |
-DWITH_xxx_STORAGE_ENGINE | 静态编译某存储引擎,可选择的存储引擎关键字有:archive, blackhole,example,federated,innobase,partition,perfschema, 其实mysql 支持存储引擎不止这些,eg: MyISAM,MERGE,MEMORY及CSV 四种存储引擎默认会编译在服务端的。partition ->表示是否支付分区,perfschema 则是performance_schema 等. |
-DWITHOUT_xxx_STORAGE_ENGINE | 与前面参数的功能正好相反,本参数是指定不编译的存储引擎。eg: 当不需要编译example引擎时,即可制定:-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 |
-DWITH_EXTRA_CHARSETS | 指定附加支持字符集,默认为all。 |
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock | 系统Socket文件(.sock)设置,基于该文件路径进行Socket连接,必要为绝对路径,默认为/tmp/mysql.sock 目录下,这一服务可以在mysql启动时指定 |
TCP_PORT=3306 | 数据库服务器TCP/IP连接的监听端口,默认为3306(可省略) |
8、安装MySQL
#make && make install
--make是用来编译的,它从makefile 中读取指令,然后编译。
--make install 是用来安装的,他也是从make中读取指令,将软件安装到指定的位置。
--这将是一个比较漫长的过程。。。。。
9、配置MySQL的启动项
#cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf //更改配置文件位置 --(可以不需要) --这就类似是自己定义的my.cnf文件
#cp support-files/mysql.server /etc/init.d/mysqld //设置mysql服务器操作路径
#chmod 755 /etc/init.d/mysqld//更改权限
#bash scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/service/data///安装数据库,并设置用户名和数据存放位置
--------------
--------------
--这里,如果自己 新定义了my.cnf 文件新路径,在 启动MYSQL服务是,需要删除 mysql 安装目录下(basedir) 的原my.cnf 文件。
4. MySQL启动与使用
1、在命令行中输入:
#/etc/init.d/mysqld start
启动Mysql服务
2、登录MySQL
命令行:/usr/local/mysql/bin/mysql -u root -p
使用mySQL数据库的root用户登录,默认无密码(此root与linux的root不是一回事)
可以使用硬连接(ln /usr/local/mysql/bin/ /usr/bin)将其指定到/usr/bin下,以后直接输入mysql即可以启动登录
如果出现:Invalid cross-device link错误是跨分区错误;记得排错!
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/local/mysql/bin/mysqladmin -u root password q3,gh.
3、 简单操作
mysql>use mysql ;//使用mysql数据库
//更改root用户的登录密码
mysql>update user set password=PASSWORD("bjsyx825") where user='root';
授权
mysql> grant all privileges on *.* to root@'%' identified by 'q3,gh.';
//刷新更新
mysql>FLUSH PRIVILEGES;
5. 总结
最好将上面的安装指令等写成一个Shell脚本,以避免错误,并使安装更简单。。完毕!
-- 之后,/etc/my.cnf 下 可以自定义
=====5.7 安装方式====
相应的源码包下载方式:
步骤一、安装gcc等必备程序包(已安装则略过此步)
yuminstall -y gcc gcc-c++ make automake
步骤二、安装wget (已安装则略过此步)
yuminstall -y wget
步骤三、获取CMake源码包
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
步骤四、解压CMake源码包
tar -xvf cmake-3.4.1.tar.gz -C /usr/local/
步骤五、进入目录
#cd /usr/local/cmake-3.4.1/
步骤六
#./bootstrap --prefix=/usr/local/cmake-3.4.1/
# gmake
#gmake install
cd /usr/local/cmake
./configure --prefix=/usr/local/cmak
make &&make install