一、 准备工作
1. 配置网络&关闭SELINUX
配置网络&关闭SELINUX
2. 升级软件
yum -y update
3. 安装依赖
yum -y install wget gcc gcc-c++ make cmake bison bison-devel ncurses ncurses-devel perl
4. 下载MySQL源码
cd /usr/local/src && wget https://downloads.mysql.com/archives/get/file/mysql-5.6.38.tar.gz && tar zxvf mysql-5.6.38.tar.gz && cd mysql-5.6.38
5. 创建mysql用户
groupadd mysql && useradd -g mysql -s /bin/false mysql
6. 创建MySQL数据目录,并设置权限
mkdir -p /data/mysql && chown -R mysql.mysql /data/mysql
7. 删除系统默认的配置文件
rm -rf /etc/my.cnf
或者
mv /etc/my.cnf /etc/my.cnf.bak
二、安装篇
1. 生成编译配置
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.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
2. 编译&安装
make && make install
3. 软连接MySQL配置文件到/etc目录
# ln -s /usr/local/mysql/my.cnf /etc/my.cnf
vim /etc/my.cnf
[mysqld]
user=mysql
port = 3306
basedir = /usr/local/mysql
datadir =/data/mysql
log_bin=/data/mysql/log/mysql-bin
log-error=/data/mysql/log/error.log
pid-file=/usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
lower_case_table_names=1
character-set-client-handshake = FALSE
character-set-server = utf8
collation-server = utf8_general_ci
init_connect = 'SET NAMES utf8'
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
4. 初始化数据目录
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
5. 拷贝MySQL控制脚本,将mysql加入开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig mysqld on
service mysqld start
6. 把mysql服务加入系统环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
三、优化篇
1. 使用mysql_secure_installation提高MySQL安全性
mysql_secure_installation
- 为root帐户设置密码。
- 删除匿名用户帐户。
- 不允许远程root登录。
- 删除test数据库。
- 重新加载权限表。
2. 设置root账户远程访问密码
shell> mysql -uroot -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> exit;
四、安装过程所遇问题及解决办法
1. FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db
# 执行如下命令时
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
# 报错如下:
FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
Data::Dumper
- 解决办法
# 执行命令
yum -y install autoconf
2. tarting MySQL..191025 15:06:57 mysqld_safe error: log-error set to '/data/mysql/log/error.log', however file don't exists. Create writable for user 'mysql'.
ERROR! The server quit without updating PID file (/usr/local/mysql/mysqld.pid)
- 解决办法
# 手动创建日志文件:
touch /data/mysql/log/error.log
chown mysql:mysql /data/mysql/log/error.log
网友评论