一.准备工作
首先是文件准备,咳咳,由于那啥没有搭配ftp环境去存储工具类文件,就使用Xftp复制粘贴下MySQL的通用二进制格式文件,无论是移动存储挂载还是其他的,目的就是把这玩意放到linux服务器中。这里使用的版本文件为“mysql-5.5.33-linux2.6-x86_64.tar.gz”,文件大家可以去www.mysql.com或其他镜像网站下载。
二.开始配置
1.另设MySQL的data存放路径,最好是挂载,这样利于后期数据庞大方便扩展神马的,这里偷个懒就不做挂载操作了,我直接在根目录下创建了/mydata/mysql/data,创建系统用户mysql;
将/mydata/mysql/data的属主、属组设定为mysql:
# mkdir -p /mydata/mysql/data # useradd -r mysql # chown -R mysql.mysql /mydata/mysql/data
完成操作后,需要检查下是否有误,马哥经常都会提醒我们这样操作;
检查ing:
2.将文件解压到usr/local/中;
# tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local /*参数-C 指定解压路径*/
解压完后,查看3306端口是否被占用,如被占用需要关闭;
通常MySQL程序放在/usr/local/mysql目录下,但这里不建议改文件名,做一个文件名链接即可;
# ln -sv mysql-5.5.33-linux2.6-x86_64/ mysql /*创建文件链接*/
3.改文件属主、属组
注意:mysql中的data需要属主、属组都为mysql,其他文件的属主、属组分别是root、mysql,由于我们另设其data文件路径,所以这里直接将/usr/local/mysql的属主、属组统一改为root、mysql;
# chown -R root.mysql /usr/local/mysql/* /*更改属主、属组*/
改后并检查,注意这里改的是mysql目录中文件的属主、属组,不要改mysql本身的属主、属组;
4.将support-files下的my-large.cnf复制到/etc下并将文件名改为my.cnf,通过查看my-huge.cnf,my-large.cnf,my-medium.cnf,my-small.cnf文件对比linux服务器内存大小选择相对应文件;
# cp my-large.cnf /etc/my.cnf
这里会提示是否要覆盖,这里要注意的是,生产环境中有类似修改、删除、覆盖等操作时,需要有备份文件的习惯,方便出现问题时及时恢复;
然后修改/etc/my.cnf文件,在文件以下内容后增加红色部分,即完成修改数据目录
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8 / *此处为并发线程数,数量是物理核心的2倍或与物理核心数相同*/
datadir = /mydata/mysql/data
将support-files下的mysql.server复制到/etc/rc.d/init.d/下并将文件名改为mysqld,然后将mysqld添加到服务列表中;
# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld # chkconfig --add mysqld /*将mysqld添加到服务列表中*/
查看
# chkconfig --list mysqld
5.然后运行服务,
# service mysqld star
这里报错了,原因是没有更新/usr/local/mysql/data/localhost.localdomain.pid这个配置文件。
然后查看这个路径,里面是没有这个pid文件的,
这里我们可以看下错误日志localhost.localdomain.err,它告诉我们各种表不存在,所以启动不了,这种情况我们需要手动初始化一次;
首先清空/usr/local/mysql/data/目录,
# rm -rf /usr/local/mysql/data/*
然后运行初始化脚本文件,文件路径/usr/local/mysql/scripts/mysql_install_db
# /usr/local/mysql/scripts/mysql_install_db --help /*查看脚本帮助*/
这里我们需要用到参数
--user= 指定mysql用户名
--datadir 指定数据目录
# scripts/mysql_install_db --user=mysql --datadir=/mydata/mysql/data /*初始化*/
提示成功
初始化后,可以看到/mydata/mysql/data/下已经生成了新的文件,
此时再启动mysql服务,成功!
此时可以查看端口3306已监听,表示mysql成功启动;
6.客户端连接,出现提示,这是因为path环境变量没有设置,
我们动手设置一下,
# vim /etc/profile.d/mysql.sh
编辑如下内容后保存:
export PATH=/usr/local/mysql/bin:$PATH
执行一次脚本,然后尝试客户端连接,成功!