各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:
① MySQL的二进制安装过程(重点)
② MySQL多实例管理(mysqld_multi)
③ MySQL的源码编译安装过程
④ Linux的逻辑卷的使用
⑤ 文件的MD5值
⑥ 访问MySQL的几种客户端工具(Navicat和MySQLWorkbench)
⑦ 修改MySQL的密码
⑧ 设置MySQL的远程访问
⑨ 设置MySQL的开机启动以及多实例的开机启动
⑩ RPM、二进制和源码编译的优缺点
在Windows下可以使用NOINSTALL包和图形化包来安装,在Linux下可以使用如下3种方式来安装:
RPM(Redhat Package Manage) | 二进制(Binary Package) | 源码(Source Package) | |
优点 | 安装简单,适合初学者学习使用 | 安装简单;可以安装到任何路径下,灵活性好;一台服务器可以安装多个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-server和MySQL-client就可以了,安装方法如下: rpm -ivh MySQL-server* MySQL-client* | 1.添加用户 groupadd mysql useradd -g mysql mysql 2.安装 tar -xzvf mysql-VERSION-OS.tar.gz -C /mysql/ ln -s MySQL-VERSION-OS mysql或用mv命令 3.初始化,MySQL 5.7之后用mysqld --initialize scripts/mysql_install_db 4.启动数据库并修改密码等 mysqld_safe & set password=password('lhr'); | 除了第二步的安装过程外,其它步骤和二进制基本一样(MySQL 5.7开始使用cmake): gunzip < mysql-VERSION.tar.gz | tar -xvf - cd mysql-VERSION ./configure --prefix=/usr/local/mysql make && make install |
安装包下载选项 | Red Hat Enterprise Linux / Oracle Linux | Linux - Generic | Source Code |
OS路径设置:
vgcreate vg_mysqlsoft /dev/sdb1 lvcreate -n lv_mysqlsoft_57 -L 5G vg_mysqlsoft mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_57 mkdir -p /tmp/mysql5719 mkdir -p /var/lib/mysql57 mount /dev/vg_mysqlsoft/lv_mysqlsoft_57 /var/lib/mysql57/ vi /etc/fstab |
二进制安装过程:
md5sum mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /var/lib/mysql57/ mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719
groupadd mysql useradd -r -g mysql mysql
MySQL 5.6版本:./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data MySQL 5.7版本:./bin/mysqld --initialize --user=mysql --basedir=/var/lib/mysql57/mysql5719 --datadir=/var/lib/mysql57/mysql5719/data more /etc/my.cnf
cp mysql.server /etc/init.d/mysql57 chmod 755 /etc/init.d/mysql57 chkconfig --add mysql57 chkconfig mysql57 on chkconfig --level 345 mysql57 on
mysqld_safe --user=mysql &
MYSQL_HOME=/var/lib/mysql57/mysql5719 PATH=$PATH:$MYSQL_HOME/bin source /etc/profile
#MySQL 5.7初始化时有默认密码,5.6无密码 mysql -uroot --socket=/usr/local/mysql56/mysql5637/mysql.sock -p set password=password('lhr'); update mysql.user set authentication_string=password('lhr') where user='root'; grant all privileges on *.* to root@'%' identified by 'lhr'; flush privileges;
|
源码安装:
tar -zxf /tmp/mysql5.7sc/mysql-5.7.19.tar.gz -C /usr/local/mysql57sc/ tar -zxf /tmp/mysql5.7sc/mysql-boost-5.7.19.tar.gz -C /usr/local/mysql57sc/ mv mysql-5.7.19 mysql57
yum install -y cmake make gcc gcc-c++ ncurses-devel #cmake最低需要2.8.2版本的
cmake \ > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57sc/mysql57 \ > -DMYSQL_DATADIR=/usr/local/mysql57sc/mysql57/data \ > -DMYSQL_USER=mysql \ > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ > -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ > -DWITH_READLINE=1 \ > -DDOWNLOAD_BOOST=1 \ > -DWITH_BOOST=/usr/local/mysql57sc/mysql57/boost/boost_1_59_0/
make && make install |
查看MySQL的端口:
netstat -lntp | grep mysqld |