一、安装准备
1.关闭selinux
Selinux是基于角色的访问控制策略其设置繁琐,因此需要关闭。这样能够避免安装时出现错误Can't create test file /home/mysql/localhost.lower-test
vi /etc/selinux/config
SELINUX=disabled
2.准备安装包
上传mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz传到/usr/local目录
#解压
tar zxvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
#重命名
mv mysql-5.6.30-linux-glibc2.5-x86_64 mysql
3.初步配置
1)添加mysql用户和组
#添加mysql用户组
groupadd mysql
#添加用户并设为mysql组
useradd -g mysql mysql
#设置mysql用户密码
passwd mysql (连续输入两次密码)
2)变更安装目录属主
Mysql用户作为安装运维数据库的用户,应该具有安装目录的访问权限。
chown -R mysql:mysql /usr/local/mysql
#-R表示递归之下的所有目录
3)创建PID file存放目录
mysql启动时需要在/var/run/mysqld目录下创建PID file,因此需要
(1)提前创建mysqld文件夹来避免以下错误
can’t create PID file:no such file or directory
(2)提前设置mysqld属主为mysql用户来避免以下错误
can’t create PID file:permission denied
#切换目录
cd /var/run
#添加目录
mkdir mysqld
#改变目录属主
chown -R mysql:mysql /var/run/mysqld
4.配置my.cnf
vi /etc/my.cnf
[client]
port = 3306 #指定mysql监听的端口号
socket = /var/lib/mysql/mysql.sock #为mysql套接字文件(linux默认/var/lib/mysql/mysql.sock)
[mysqld]
user =mysql #制定默认登陆的用户
port = 3306 #指定mysql监听的端口号
default-storage-engine = InnoDB #默认存储引擎为InnoDB
socket =/var/lib/mysql/mysql.sock #为mysql套接字文件(linux默认/var/lib/mysql/mysql.sock)
pid_file =/var/run/mysql/mysql.pid #此文件作为存放进程ID的文件
basedir =/usr/local/mysql #此目录作为根目录即安装目录
datadir = /usr/local/mysql/data #此目录作为数据目录存放数据文件
tmpdir = /usr/tmp/ # 此目录被MySQL用来保存临时文件
open_files_limit = 10240 #设定每个进程能够打开的文件最大个数
max_connections = 3000 #MySQL允许最大的进程连接数,适当增大避免Too Many Connections的错误。
max_connect_errors = 6000 #每个主机的连接异常中断最大次数,当超过该次数将禁止host的连接请求,直到mysql服务器重启或通过flush hosts命令清空此host的相关信息。
table_open_cache = 10240 #所有线程所打开表的数量
tmp_table_size = 512M #临时表大小,超过此大小则放到磁盘中,此选项为了防止意外创建超大的内存表
query_cache_size = 256M #查询缓存大小,小于此值的结果集会被缓冲,防止极大结果集将其他查询结果覆盖.
query_cache_limit = 2M #不缓存查询大于该值的结果,默认是4KB
default_time_zone = system #服务器时区
character_set_server = utf8 #server级别字符集
connect-timeout = 10 #连接超时之前的最大秒数,在Linux平台上,该超时也用作等待服务器首次回应的时间
wait-timeout = 28800 #等待关闭连接的时间
key_buffer_size = 256M #myisam索引缓冲区,只有key没有data,用来处理ORDER BY、GROUP BY引起的排序。
sort_buffer_size = 2M #排序buffer大小;线程级别
read_buffer_size = 2M #以全表扫描(Sequential Scan)方式扫描数据的buffer大小 ;线程级
join_buffer_size = 8M # join buffer 大小;线程级别
二、安装启动
1.初始化数据库
指定basedir和datadir以避免出现错误:FATAL ERROR: Could not find ./bin/my_print_defaults
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2.启动数据库
/usr/local/mysql/bin/mysqld_safe --user=mysql –socket = /var/lib/mysql/mysql.sock
若无法正常启动查看my.cnf文件配置是否与安装时指定的位置不符,或查看/var/log/mysqld.log日志文件看是否出现目录权限等问题(如/var/lib/mysql)。
3.添加软链接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
#mysql.sock套接文件只有在数据库启动后才会出现
4.配置root用户密码
/usr/local/mysql/bin/mysqladmin -uroot password 123456
三、登陆数据库
1.添加mysql命令
为了方便地登陆数据库(mysql –umysql),而无需再切换到/usr/local/mysql/bin/目录启动mysql,我们需要添加一个软连接。
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
2.登陆mysql
mysql用户登录:
mysql –umysql
root用户登录:
mysql -uroot -p123456
3.查看数据库
mysql> show databases;
四、加入系统服务
为直接通过service mysqld start|stop|status|restart等命令进行管理
1.脚本拷贝到系统启动目录
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2.mysql加入启动列表
cd /etc/init.d/
chkconfig --add mysqld
3.系统启动时自动打开mysql服务
chkconfig mysqld on
(重启机器使服务生效)