一、Mysql的源码安装:
1、下载mysql安装包
mysql官网: https://www.mysql.com/ DOWNLOADS >>>Archives >> MySQL Community Server
版本选择潜规则:
MySQL5.7 1.选择GA 6-12个月 2.小版本号为偶数版 3.MySQL5.7.17以上版本 MGR
选择版本 5.6.40 operating system:Source Code 点击下载
2、将下载的源码压缩文件传到虚拟机上 直接拖(虚拟机需要先安装lrzsz:yum install -y lrzsz)
3、解压: [root@db01 ~]# tar xf mysql-5.6.40.tar.gz
4、进入到解压的目录里面:
[root@db01 ~]# cd mysql-5.6.40 [root@db01 mysql-5.6.40]# ll
5、生成编译文件:
[root@db01 mysql-5.6.40]#
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.40
-DMYSQL_DATADIR=/usr/local/mysql-5.6.40/data
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.40/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITH_ZLIB=bundled
-DWITH_SSL=bundled
-DENABLED_LOCAL_INFILE=1
-DWITH_EMBEDDED_SERVER=1
-DENABLE_DOWNLOADS=1
-DWITH_DEBUG=0
# 意思解析:
[root@db02 mysql-5.6.36]#
#程序存放位置
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38
#数据存放位置
-DMYSQL_DATADIR=/application/mysql-5.6.38/data
#socket文件存放位置
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock
#使用utf8字符集
-DDEFAULT_CHARSET=utf8
#校验规则
-DDEFAULT_COLLATION=utf8_general_ci
#使用其他额外的字符集
-DWITH_EXTRA_CHARSETS=all
#支持的存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
#禁用的存储引擎
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
#启用zlib库支持(zib、gzib相关)
-DWITH_ZLIB=bundled
#启用SSL库支持(安全套接层)
-DWITH_SSL=bundled
#启用本地数据导入支持
-DENABLED_LOCAL_INFILE=1
#编译嵌入式服务器支持
-DWITH_EMBEDDED_SERVER=1
# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
-DENABLE_DOWNLOADS=1
#禁用debug(默认为禁用)
-DWITH_DEBUG=0
#编译
6、编译:[root@db01 mysql-5.6.40]#make
7、安装:[root@db01 mysql-5.6.40]#make install
8、创建mysql系统用户:[root@db01 mysql-5.6.40]# useradd mysql -s /sbin/nologin -M
9、进入配置文件及脚本目录:[root@db01 mysql-5.6.40]# cd support-files/
10、拷贝配置文件到etc [root@db01 support-files]# cp my-default.cnf /etc/my.cnf cp: overwrite ‘/etc/my.cnf’? y
11、拷贝启动脚本 [root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
12、进入初始化目录 [root@db01 mysql-5.6.40]# cd /usr/local/mysql-5.6.40/scripts/
13、初始化数据库 [root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.6.40 --datadir=/usr/local/mysql-5.6.40/data
14、做软连接 [root@db02 scripts]# ln -s /usr/local/mysql-5.6.40 /usr/local/mysql
15、启动mysql [root@db02 scripts]# /etc/init.d/mysqld start
附:此处有可能做完软连接后还是会出现报错,
此时可以通过: [root@db02 scripts]# tail -100 /usr/local/mysql/data/db02.err 命令来查看错误信息error
此处为编译时给的sock的文件所在位置 -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.40/tmp/mysql.sock 但是系统中没有此文件夹,所以解决办法为创建此文件: [root@db01 scripts]# mkdir /usr/local/mysql-5.6.40/tmp
Starting MySQL.Logging to '/usr/local/mysql/data/db02.err'. . SUCCESS!
16、添加环境变量 [root@db02 scripts]# vim /etc/profile export PATH="/usr/local/mysql/bin:$PATH" 添加到最后一行
17、加载环境变量 [root@db02 scripts]# source /etc/profile
18、授权 [root@db01 scripts]# chown -R mysql.mysql /usr/local/mysql*
19、连接mysql [root@db02 scripts]# mysql
20、设置mysql密码 [root@db02 scripts]# mysqladmin -uroot -p password 123
21、连接mysql [root@db01 scripts]# mysql -uroot -p123
二、二进制安装
1、下载mysql安装包
mysql官网: https://www.mysql.com/ DOWNLOADS >>>Archives >> MySQL Community Server
版本选择潜规则:
MySQL5.6: 1.选择GA 6-12个月 2.小版本号为偶数版
MySQL5.7 1.选择GA 6-12个月 2.小版本号为偶数版 3.MySQL5.7.17以上版本 MGR
选择版本 5.6.40 operating system:Linux-Generic 点击下载
2、将下载的源码压缩文件传到虚拟机上 直接拖(虚拟机需要先安装lrzsz:yum install -y lrzsz)
3、解压:[root@db02 ~]# tar xf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
4、将解压的文件移动到usr/local 目录下: [root@db02 ~]# mv mysql-5.6.40-linux-glibc2.12-x86_64 /usr/local/mysql-5.6.40
5、进入到mysql目录下:[root@db02 ~]# cd /usr/local/mysql-5.6.40/
6.创建mysql系统用户 [root@db01 mysql-5.6.40]# useradd mysql -s /sbin/nologin -M
7.进入配置文件及脚本目录 [root@db02 mysql-5.6.40]# cd support-files/
8.拷贝配置文件到etc [root@db01 support-files]# cp my-default.cnf /etc/my.cnf cp: overwrite ‘/etc/my.cnf’? y
9.拷贝启动脚本 [root@db01 support-files]# cp mysql.server /etc/init.d/mysqld
10.进入初始化目录 [root@db01 mysql-5.6.40]# cd /usr/local/mysql-5.6.40/scripts/
11.初始化数据库 [root@db01 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.6.40 --datadir=/usr/local/mysql-5.6.40/data
12.做软连接 [root@db02 scripts]# ln -s /usr/local/mysql-5.6.40 /usr/local/mysql
13.启动mysql [root@db02 scripts]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/db02.err'. . SUCCESS!
14.添加环境变量 [root@db02 scripts]# vim /etc/profile export PATH="/usr/local/mysql/bin:$PATH"
15.加载环境变量 [root@db02 scripts]# source /etc/profile
16.授权 [root@db01 scripts]# chown -R mysql.mysql /usr/local/mysql*
17.连接mysql [root@db02 scripts]# mysql
18.设置mysql密码 [root@db02 scripts]# mysqladmin -uroot -p password 123
19.连接mysql [root@db01 scripts]# mysql -uroot -p123