首页 > 数据库 > MySQL > mysql安装方式小结
Linux下支持多种安装方法,最常用的为二进制安装和源码安装,除此之外还有yum/APT/Debian package/native software repositories
特点
二进制安装: 操作容易,分为RPM和tar两种方式;oracle官方已优化,内置了最佳配置;选择多,如mysqld和mysqld-debug;
源码安装:可手工指定安装目录;使用标准二进制包没有的功能,如-DWITH_LIBWRAP(tcp wrap);去除不用的字符集;获取最新的bugfix;包含更多的测试和例子;
目录分层
源码安装:默认位于/usr/local/mysql(与binary一样),可通过-prefix指定;
tar安装:通常解压于/usr/local/mysql;
RPM安装:分散于多个目录,/usr/bin 脚本和客户端程序 ; /var/lib/mysql 数据库和日志; /usr/lib/mysql 库函数
pre-安装
下载后首先要验证,方法有MD5 checksums和内置的RPM验证(rpm --checksig);
1 二进制安装
分为RPM和tar两种,前者给出startup脚本并自动放入/etc/rc.d/init.d,两者的目录分层也不同;
Generic binary即tar安装:
1 创建mysql用户(组)
2 解压安装文件 tar zxvf(通常位于/usr/local)
3 执行scripts/mysql_install_db –user=mysql
4 将data目录赋给mysql
5 bin/mysqld_safe –user=mysql &
RPM安装:采用rpm安装MySQL-server & MySQL-client;
2 源码安装
前提:安装包mysql-VERSION.tar.gz;GNU gunzip和tar;ANSI C++;GNU make;Cmake;
步骤:
A 创建mysql用户和用户组
B 解压安装包 gunzip < mysql-VERSION.tar.gz | tar –xvf – 或者直接tar zxvf
C ./configure –prefix=/usr/local/mysql & make 配置并编译
D make install
E cp support-files/my-medium/cnf /etc/my.cnf复制cnf文件
F mysql_install_db –user=mysql 创建授权表,如果是root用户登录必须指定—user
G bin目录改为root,/var数据目录改为mysql
H mysqld_safe –user=mysql &
注:configure的prefix指定安装目录,默认为/usr/local可手工改动;
要仅编译客户端,请使用./configure --without-server.
with-charset/collation 指定字符集;你在创建了任何数据库表之后改变字符集,你将必须对每个表运行myisamchk -r -q --set-character-set=charset,否则索引可能不正确地排序
with-debug 配置调试代码,包含安全的内存分配器;mysqladmin debug enable-thread-safe-client
CMake 是一个比 automake 更加容易使用的工具,能够使程序员从复杂的编译连接过程中解脱出来;
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
Post-安装
1 初始化data目录 & 创建grant表
2 为grant里的user赋密码
分别由mysql_install_db和mysql_secure_installation完成
mysql_install_db的用途
对于generic binary和source 安装,需要手工运行(RPM会自动运行);
创建data目录;
创建mysql/test数据库,初始化grant表;
初始化innodb系统表空间;
重要选项:
-basedir/datadir:指定base/data目录
-skip-name-resolve:在grant表中使用IP而非hostname
Mysql_secure_installation
无须任何参数; 设置root用户密码;删除匿名用户;删除test数据库;
注:如何修改root密码? 1 set password for 2 update user 3 mysqladmin –u root password “newpwd”
编译链接和速度
一个好的编译器和选项,可使应用加速10-30%;
标准的mysql binary支持所有字符集,自己编译时只指定所需的—with-charset;
对比:
1 pgcc & -O6比gcc 2.95.2快11%
2 动态链接比-static慢13%
3 strip mysqld剥离mysqld binary,快4%
4 本地客户端使用TCP比unix socket慢7.5%
5 使用TCP远程比本地客户端慢8-11%
6 SSL加密会慢55%
7 with-debug=full会慢20%,with-debug慢15%,full & skip-safemalloc(运行时禁用内存检查)接近前者
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15480802/viewspace-1307431/ ,如需转载,请注明出处,否则将追究法律责任。