MySQL部署具体步骤:
-
升级yum仓库中的rpm软件,并且安装开发工具组,以及相应的编译依赖软件:
yum -y update
yum -y groupinstall “Development Tools”
yum -y install ncurses ncurses-devel bison libgcrypt perl make cmake
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz -
创建MySQL用户为MySQL服务设置用户的身份;设置MySQL服务安装的目录
groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql
mkdir -p /usr/local/mysqld/{data,mysql,log,tmp}
chown -R mysql:mysql /usr/local/mysqld/* -
解压MySQL源码包—>预编译(cmake)编译(make)安装(make install)
tar xf mysql-boost-5.7.27.tar.gz
cd mysql-5.7.27
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysqld/mysql -DMYSQL_DATADIR=/usr/local/mysqld/data -DWITH_BOOST=/opt/mysql-5.7.27/boost -DDEFAULT_CHARSET=utf8
(这一步是启动,这里要注意解压文件所在目录,需要手动转移到/opt/下如果没有那就直接运行/的local.还有版本号问题,这里一直用的是5.7.27,想用其他版本的要去官网下载。)
安装完成后我们测试一下,echo $? 如果显示0说明成功,提示1的话需要重新上一步操作。没有问题后我们继续操作,开始编译,先查看CPU数,输入lscpu,找到CPU(s)对应数字几,就是CPU的数量,建议这时我们去服务器改下配置,最少2核,2G+20G。然后运行make -j 2(CPU数量),这里运行时间会很长,耐心等待,完成后再次输入echo $? 验证是否完成,0是没有问题。然后开始编译:make install -
添加MySQL/bin下的命令至系统级别添加MySQL命令至环境变量中
echo “export PATH=$PATH:/usr/local/mysqld/mysql/bin” >>/etc/profile.
source /etc/profile -
将配置文件放置到/etc/my.cnf中;编写配置文件
chown -R mysql.mysql /usr/local/mysqld/*
cd /usr/local/mysqld/mysql/mysql-test/include
mv /etc/{my.cnf,my.cnf.bak}
cp default_my.cnf /etc/my.cnf
vi /etc/my.cnf
将本来的内容删除,写入如下:
[mysqld]
basedir = /usr/local/mysqld/mysql
datadir = /usr/local/mysqld/data
tmpdir = /usr/local/mysqld/tmp
socket = /usr/local/mysqld/tmp/mysql.sock
pid_file = /usr/local/mysqld/tmp/mysqld.pid
log_error = /usr/local/mysqld/log/mysql_error.log
slow_query_log_file = /usr/local/mysqld/log/slow_warn.log
server_id = 19216816110 (IP地址)
user = mysql
port = 3306
bind-address = 0.0.0.0
character-set-server = utf8
default_storage_engine = InnoDB -
对MySQL服务进行初始化操作
mysqld --defaults-file=/etc/my.cnf --initialize --user=‘mysql’ -
使用MySQL_safe进行安全启动;预加载安全选项;
mysqld_safe --defaults-file=/etc/my.cnf &
(这一步可能会卡,然后我们需要启动另外一个终端,创建软链接到MySQL的指定命令中,然后启动。) -
设置客户端与服务端连接的socket文件至/tmp
ln -s /usr/local/mysqld/tmp/mysql.sock /tmp/mysql.sock
查看默认密码:grep password /usr/local/mysqld/log/mysql_error.log
mysql -uroot -p ”GFfajv!22”
如果提示错误,是因为密码中有特殊字符,我们先mysql -uroot -p,然后单独输入密码
-
登录MySQL服务端,修改密码;
alter user [email protected] identified by “New.123” -
设置开机自启脚本;设置MySQL服务控制命令;
cd /usr/local/mysqld/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on