闲扯两句:
小弟不才,由于缺乏明确的职业规划,初毕业的那两年从事的是网络管理工作,接触最多的是计算机硬件和网络设备。
近几年才开始转向DB行业,最初是自学,过程中走了不少弯路,后来参加的专职的DBA培训,很多问题才豁然开朗。
下面说说我曾经走过的一段“弯路”:MySQL server 的安装方法。
大致上说,MySQL server 有三种常见的安装方法:
1.RPM 包安装,该方法比较方便,适合多台主机批量部署
2.源码编译安装,自己下载源码包,解压后自己编译再安装,相对来说比较耗费时间,但是可以自己定制编译选项
3.通用二进制包安装,官方已经编译的二进制包,解压后配置基本的参数和设置就能运行
我现在比较倾向于第三种方法,这也是我在工作实践中见到同行使用最普遍一种方法。
但是我曾经在第二种方法上耗费了相当长的时间,因为在编译过程中有很多可选项,为了弄清这些选项的含义以及后期对服务器的实际影响,琢磨了很久。
后来前辈指教说,生产环境不建议使用这种方法,我也就放弃了纠结。
下面以Percona-Server-5.5.33-rel31.1-566.Linux.x86_64.tar.gz 为例,简要说一下使用二进制包安装MySQL server。
其中配置文件中的参数仅作师范用,可根据自己实际需求自行修改
1.安装依赖包 openssl,openssl098e,libaio
yum install -y libaio openssl openssl098e
若缺乏上面两个软件包会报如下错误:
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
2.创建msyql用户组和用户。
groupadd mysql
useradd -r -g mysql mysql
3.解压二进制压缩包到目标目录,并建立一个软链接。
mv /root/Percona-Server-5.5.33-rel31.1-566.Linux.x86_64.tar.gz /usr/local/
cd /usr/local/
tar -zxvf Percona-Server-5.5.33-rel31.1-566.Linux.x86_64.tar.gz
ln -s Percona-Server-5.5.33-rel31.1-566.Linux.x86_64/ /usr/local/mysql
4.权限检查与修改
chown -R mysql:mysql Percona-Server-5.5.33-rel31.1-566.Linux.x86_64/
mv Percona-Server-5.5.33-rel31.1-566.Linux.x86_64.tar.gz src/
5.修改配置文件
vi /etc/my.cnf
==========================================
[mysql]
socket=/tmp/mysql.sock
default-character-set=utf8
port=3306
#prompt="\\u@\\h:\p \\R:\\m:\\s [\\d]>"
[mysqld]
basedir =/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
user=mysql
#tmpdir=/tmp
symbolic-links=0
character_set_server=utf8
lower_case_table_names=0
#bin-log
server-id=193306
log-bin=/usr/local/mysql/data/bin-log
log-bin-index=/usr/local/mysql/data/binlog-index
max_binlog_size= 1G
expire_logs_days= 7
binlog_format=row
#log_slave_updates=1
#innoDB-Parameter
innodb_data_file_path = ibdata1:1G:autoextend
innodb_file_per_table=1
innodb_buffer_pool_size = 2G
max_connections=3000
max_connect_errors = 100000
skip_name_resolve=1
query_cache_type = 0
query_cache_size = 0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysql.pid
[client]
port=3306
socket=/tmp/mysql.sock
==========================================
6.安装初始化
cd mysql/
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7.添加开机服务##生产环境中,不建议将MySQL设为开机启动服务##
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on
启动mysql
service mysql start
8.设置环境变量
echo "PATH=/usr/local/mysql/bin:$PATH;export PATH" >> /etc/profile
source /etc/profile
9.设置密码
mysqladmin -u root password 'XXXXXX'
不妥之处请多指教!