由于mysql5.6在单机运行多实例时需要源码安装mysql. 特此记录下如何在centos中源码安装mysql.
实验环境:
centos6.5
mysql5.6.40
准备工作:
下载mysql源码包:https://dev.mysql.com/downloads/file/?id=476692(需要注册oracle账户)
其他稳定发布版本参照:https://dev.mysql.com/downloads/mysql/
安装依赖库: yum install gcc gcc-c++ ncurses-devel bison cmake
添加mysql需要的用户和用户组:
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
编译:
在压缩包解压后的目录下运行:
#删除CMakeCache.txt的目的是为了每次都重新编译
rm -f CMakeCache.txt
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.40 -DMYSQL_DATADIR=/usr/local/mysql-5.6.40/data \
-DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
配置开机启动:
cp /usr/local/mysql-5.6.40/support-files/mysql.server /etc/init.d/mysqld
chkconfig --level 35 mysqld on
在shell中直接使用mysql相关命令:
vim /root/.bash_profile;
PATH=$PATH:$HOME/bin:/usr/local/mysql-5.6.14/bin;
source /root/.bash_profile
测试mysql服务:
(1) 建立配置文件相关参数:
cd /var/run && rm -rf mysqld && mkdir mysqld &&chown -R mysql:mysql mysqld
cp /usr/local/mysql-5.6.40/support-files/my-default.cnf /etc/my.cnf
(2) 在 /etc/my.cnf后面追加如下内容:
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
lower_case_table_names=1
interactive_timeout=31536000
wait_timeout=31536000
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
(3) 初始化数据:
cd /usr/local/mysql-5.6.40
./scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
(4) 测试数据库
service mysqld start
mysql如果出现如下界面则证明数据库安装成功
(5) 修改数据库的root密码:
mysqladmin -u root password '123456'