- 一、源码安装mysql5.6-单实例
1、 安装前检查系统环境
1.1 操作系统版本及内核版本
[[email protected] ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[[email protected] ~]# uname –r
2.6.32-431.el6.x86_64
1.2 selinux是否处于关闭状态
[[email protected] ~]# getenforce
Enforcing
[[email protected] ~]# vim /etc/sysconfig/selinux
SELINUX=disabled
[[email protected] ~]# reboot
1.3 检查防火墙
[[email protected] ~]# iptables -L
1.4 检查IP地址
[[email protected] ~]# ip a 或者
[[email protected] ~]# ifconfig
1.5 检查主机名
[[email protected] ~]# hostname
[[email protected] ~]# cat /etc/sysconfig/network
1.6 检查hosts表
[[email protected] ~]# cat /etc/hosts
[[email protected] ~]# vim /etc/hosts
192.168.128.2 mysql
[[email protected] ~]# ping localhost 解析成127.0.0.1
[[email protected] ~]# ping mysql 解析成网卡的IP地址
1.7 检查yum源配置
[[email protected] yum.repos.d]# cat dvd.repo
[base]
name=base
baseurl=file:///media
enable=1
gpgcheck=0
[[email protected] yum.repos.d]#
[[email protected] ~]# yum repolist
2、 准备上传软件包
[[email protected] ~]# mkdir /disk
使用xftp上传cmake及mysql软件包
[[email protected] disk]# ls
cmake-3.0.1.tar.gz mysql-5.6.16.tar.gz
3、 安装cmake软件
3.1 安装编译软件环境
[[email protected] ~]# yum -y install gcc-c++ ncurses-devel makeperl bison ncurses
3.2 解压软件包
[[email protected] disk]# tar zxf cmake-3.0.1.tar.gz
3.3 编译安装
[[email protected] disk]# cd cmake-3.0.1
[[email protected] cmake-3.0.1]# ./bootstrap
[[email protected] cmake-3.0.1]# gmake
[[email protected] cmake-3.0.1]# make install
3.4 校验安装是否成功
[[email protected] ~]# cmake --version
4、 安装mysql
4.1 创建mysql用户、用户组
[[email protected]~]# useradd -r mysql -s ‘/sbin/nologin‘ –M //-r创建系统用户,-M不创建home目录
4.2 创建mysql安装目录
[[email protected] ~]# mkdir /usr/local/mysql
4.3 创建mysql数据目录
[[email protected] ~]# mkdir -p /home/mysql/data
4.4 改变mysql安装目录及数据目录属主为mysql
[[email protected] ~]# chown -R mysql.mysql /usr/local/mysql/
[[email protected] ~]# chown -R mysql.mysql /home/mysql/data/
[[email protected] ~]# ls -ld /home/mysql/data/
drwxr-xr-x 2 mysql mysql 4096 Nov 5 18:10 /home/mysql/data/
[[email protected] ~]# ls -ld /usr/local/mysql/
drwxr-xr-x 2 mysql mysql 4096 Nov 5 18:08 /usr/local/mysql/
4.5 解压编译mysql
[[email protected] ~]# cd /disk/
[[email protected] disk]# tar -zxf mysql-5.6.16.tar.gz
[[email protected] disk]# cd mysql-5.6.16
[[email protected] mysql-5.6.16]# cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/home/mysql/data \
-DSYSCONFDIR=/etc \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITHOUT_CSV_STORAGE_ENGINE=1 \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk
\换行符
# /* 以下为配置参数注解 */
# /* -DCMAKE_INSTALL_PREFIX=/usr/local/mysql\ # 指定mysql安装位置
# /* -DMYSQL_DATADIR=/home/mysql/data \ # 数据文件存放位置
# /* -DSYSCONFDIR=/etc \ # 配置文件my.cnf的位置
# /* -DWITH_MYISAM_STORAGE_ENGINE=1 \ # 支持MyIASM引擎
# /* -DWITH_INNOBASE_STORAGE_ENGINE=1 \ # 支持InnoDB引擎
# /* -DWITH_MEMORY_STORAGE_ENGINE=1 \ # 支持Memory引擎
# /* -DWITH_READLINE=1 \ # 快捷键功能
# /* -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysqld.sock \ # 连接数据库socket路径
# /* -DMYSQL_TCP_PORT=3306 \ # 端口
# /* -DENABLED_LOCAL_INFILE=1 \ # 允许从本地导入数据
# /* -DWITH_PARTITION_STORAGE_ENGINE=1 \ # 安装支持数据库分区
# /* -DEXTRA_CHARSETS=all \ # 安装所有的字符集
# /* -DDEFAULT_CHARSET=utf8 \ # 默认字符
# /* -DDEFAULT_COLLATION=utf8_general_ci \ # 指定服务器默认的校对规则,默认latin1_general_ci
# /* -DWITH_xxx_STORAGE_ENGINE \ # 指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMORY以及CSV四种引擎默认即被编译至服务器,不需要特别指定[1.代表编译]
# /* -DWITHOUT_xxx_STORAGE_ENGINE # 指定不编译的存储引擎
# /* -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk
关于参数的解释可以参考
http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
最后编译安装
[[email protected] mysql-5.6.16]# make && make install
5、 初始配置数据库
[[email protected] ~]# vim /etc/my.cnf
[client]
socket = /usr/local/mysql/mysqld.sock
port = 3306
[mysqld]
basedir =/usr/local/mysql
datadir =/home/mysql/data
socket = /usr/local/mysql/mysqld.sock
port =3306
server_id =100
user = mysql
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
default_storage_engine = InnoDB
join_buffer_size = 128M
max_allowed_packet= 1M
net_buffer_length= 8K
skip-external-locking
skip-host-cache
skip-name-resolve
# InnoDB
innodb_buffer_pool_size = 128M
innodb_log_file_size = 48M
innodb_file_per_table = 1
innodb_flush_method = O_DIRECT
# MyISAM
key_buffer_size = 48M
character-set-server=utf8
collation-server=utf8_general_ci
# LOG
log_error =/home/mysql/data/mysql-error.log
long_query_time = 1
slow-query-log
slow_query_log_file =/home/mysql/data/mysql-slow.log
# Others
explicit_defaults_for_timestamp=true
max_connections = 500
open_files_limit = 65535
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
6、 配置环境变量
[[email protected] ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[[email protected]~]# echo ‘export PATH=/usr/local/mysql/bin:$PATH‘ >> /etc/profile
[[email protected]~]# tail -1 /etc/profile
exportPATH=/usr/local/mysql/bin:$PATH
[[email protected]~]# source /etc/profile
[[email protected]~]# echo $PATH
7、 初始化数据库
[[email protected] ~]# cd/usr/local/mysql/scripts/
[[email protected] scripts]# pwd
/usr/local/mysql/scripts
[[email protected] scripts]# ./mysql_install_db--basedir=/usr/local/mysql --datadir=/home/mysql/data --user=mysql
8、 设置启动脚本并启动数据库
[[email protected] scripts]# cd/usr/local/mysql/support-files/
[[email protected] support-files]# cp mysql.server/etc/init.d/mysqld
[[email protected] support-files]# ll/etc/init.d/mysqld
-rwxr-xr-x 1 root root 10875 Nov 5 22:36 /etc/init.d/mysqld
[[email protected] support-files]# /etc/init.d/mysqldstart
Starting MySQL... [ OK ]
[[email protected] support-files]#
9、检查mysql进程及端口监听
[[email protected] support-files]# ps -ef|grep mysql|grep –v grep
[[email protected]]# netstat -tunlp|grep 330
[[email protected]]# ss -tunlp|grep 330
10、登录mysql,查看mysql版本
[[email protected] ~]# mysql
mysql> status;
或者
[[email protected] ~]# mysql --help | grep Distrib
mysql Ver 14.14 Distrib 5.6.16, for Linux (x86_64) using EditLine wrapper
11、给[email protected]用户设置密码
[[email protected] ~]# mysqladmin -u root password ‘123456‘
12、删除空密码的用户
[[email protected] ~]# mysql -u root –p
mysql> use mysql;
mysql> select user,host,password from user;
mysql> delete from user wherepassword=‘‘;
mysql> select user,host,password from user;
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost |*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------+-------------------------------------------+
mysql> flush privileges;
13、设置mysql开机自启动
[[email protected] ~]# chkconfig --list mysqld
[[email protected] ~]# chkconfig --add mysqld
[[email protected] ~]# chkconfig --list mysqld
如果3,4,5为off
[[email protected] ~]# chkconfig mysqld on
14、停止数据库
[[email protected] ~]# mysqladmin shutdown -u root-p
Enter password: