在linux系统里离线安装mysql,和在线安装的区别是,在线安装一般都是根据mysql的版本等值默认安装路径。而离线安装可以选择配置环境。但是在线安装相对更为简单,但是系统要处于联网状态。下面属于离线安装,在线安装请参考:linux系统mysql在线安装
推荐下载Linux-Generic版本
Source Code版本主要作用是为了让开发人员研究源码使用,自己编译对性能提升不明显
不推荐Version 5.5.X,有部分bug
推荐使用Version 5.6.X和Version 5.7.X
下载地址:
https://cdn.mysql.com//archives/mysql-5.7/mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz
https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz
一:mysql安装
1.安装通用步骤:
下载mysql压缩包, 用root账号执行下面所有操作
解压缩 mysql-5.6.27-linux-glibc2.5-x86_64到/usr/local目录下 2.创建mysql的快捷链接(自选择)
[robot@hadoop103 modules]$ ln -s mysql-5.6.27-linux-glibc2.5-x86_64 mysql ,cd mysql进入
[root@hadoop103 local]# cd mysql
[root@hadoop103 mysql]# ll
total 156
drwxr-xr-x. 2 mysql mysql 4096 4月 8 19:48 bin
-rw-r--r--. 1 mysql mysql 17987 9月 18 2015 COPYING
drwxr-xr-x. 3 mysql mysql 18 4月 8 19:48 data
drwxr-xr-x. 2 mysql mysql 55 4月 8 19:48 docs
drwxr-xr-x. 3 mysql mysql 4096 4月 8 19:48 include
-rw-r--r--. 1 mysql mysql 105656 9月 18 2015 INSTALL-BINARY
drwxr-xr-x. 3 mysql mysql 4096 4月 8 19:48 lib
drwxr-xr-x. 4 mysql mysql 30 4月 8 19:48 man
-rw-r--r--. 1 root root 943 4月 8 21:25 my.cnf
drwxr-xr-x. 10 mysql mysql 4096 4月 8 19:48 mysql-test
-rw-r--r--. 1 mysql mysql 2496 9月 18 2015 README
drwxr-xr-x. 2 mysql mysql 30 4月 8 19:48 scripts
drwxr-xr-x. 28 mysql mysql 4096 4月 8 19:48 share
drwxr-xr-x. 4 mysql mysql 4096 4月 8 19:48 sql-bench
drwxr-xr-x. 2 mysql mysql 136 4月 8 19:48 support-files
建立了mysql的连接,这样好处cd mysql 就直接进入了
mysql-5.6.27-linux-glibc2.5-x86_64,当然直接将文件名修改成mysql也可 3.进入mysql解压后目录.打开 vi INSTALL_BINARY
,按照里面shell>开头的步骤进行操作(实际会有各种错误出现)
在另外复制的窗口里依次执行如下操作
#0.准备工作,安装依赖,
shell> yum search libaio # search for info
shell> yum install libaio # install library
#注意,上面的命令适合ubuntu和centos系统,下面适合debian等系统安装依赖。
shell> apt-cache search libaio # search for info
shell> apt-get install libaio1 # install library
注意:一般安装linux系统时,会系统自带mysql的配置文件,甚至mysql的安装,redhat,centos等会自带Mariadb,所以,安装自定义mysql时,最好要把系统自带的mariadb删除,不然新安装的mysql会默认调用默认的配置文件,使用时报错。卸载系统自带的mariadb.
rpm -qa | grep mariadb
rpm -e --nodeps “上面面查询出来的mariadb全称”
如果/etc/my.cnf文件,这是系统 默认mariadb的配置文件,如果存在的话,删除,不要使用这个配置文件配置mysql
#1.增减mysql分组
shell> groupadd mysql
#2.增加用户mysql到mysql分组中,sudo或root权限
shell> useradd -r -g mysql mysql #3.进入mysql的解压目录。
shell> cd /usr/local
#4.解压mysql到对应的安装目录中(上面如果已经解压,忽略这步)
shell> tar zxvf mysql-5.6.27-linux-glibc2.5-x86_64 -C /usr/local
#5.进入mysql
shell> cd mysql
#6.进入mysql,如果目录里没有my.cnf,则配置如下,如果没有则touch my.cnf ,然后配置如下
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port=3306
socket=/tmp/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
#7.修改mysql权限为mysql,mysql分组
shell> chown -R mysql .
shell> chgrp -R mysql .
#8.安装初始化mysql,最重要一步。
shell> scripts/mysql_install_db --user=mysql
如果报错,出现data:Dumper错误,则yum -y install autoconf 完成安装即可(要联网下载安装,公司代理网络有坑能用不了)
[root@hadoop103 mysql]# scripts/mysql_install_db --user=mysql
FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
Data::Dumper
有时候会出现perl缺失问题,如下也一并安装了
[root@hadoop103 mysql]# yum -y install autoconf
#9.可选择操作,设置mysql开机启动
shell> cp support-files/mysql.server /etc/init.d/mysql.server
#10.启动mysql,这里以centos7命令为例,不同版本命令不同。
service mysql start ,启动以后用下面命令查看是否成功启动
[root@hadoop103 mysql]# ps -ef | grep mysql
root 6668 1 0 19:41 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/hadoop103.pid
mysql 6808 6668 0 19:41 ? 00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/hadoop103.err --pid-file=/usr/local/mysql/data/hadoop103.pid --socket=/var/lib/mysql/mysql.sock
root 7232 3481 0 20:03 pts/2 00:00:00 grep --color=auto mysql
#11.使用mysql,登录mysql
mysql -uroot -h 127.0.0.1 -p #这种方式可以直接用tcp连接,较少出错,也不用密码
进入mysql后,修改mysql的用户root的密码,默认会产生随机密码。
mysql> set password for root@localhost = password('123456');
Query OK, 0 rows affected (0.00 sec)
这个时候就可以用mysql -uroot -p的方式登录了。