一:部署mysql
1.yum安装
https://www.jianshu.com/p/c0b7a2b1f981
2.预编译安装
3.源码安装
官方手册的参数:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html#option_cmake_enabled_local_infile
#安装环境
yum install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake -y
> 创建数据库家目录
mkdir mysql
cd mysql/
> 下载源码安装数据库的插件
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.19.tar.gz
> mysql下载源码包
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.24.tar.gz
> 解压
tar xf mysql-5.7.24.tar.gz
> 创建用户和组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
> 准备编译安装
cd mysql-5.7.24/
mv ../boost_1_59_0.tar.gz .
tar xf boost_1_59_0.tar.gz
> 编译安装
cmake . \
-DWITH_BOOST=boost_1_59_0/ \ 构建 mysql 需要指定 boost 库
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 指定安装目录
-DSYSCONFDIR=/etc \ 指定 my.cnf 文件目录
-DMYSQL_DATADIR=/usr/local/mysql/data \ 指定 mysql 数据目录位置
-DINSTALL_MANDIR=/usr/share/man \ 指定安装手册页
-DMYSQL_TCP_PORT=3306 \ 指定服务端口号
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ 监听套接字文件路径
-DDEFAULT_CHARSET=utf8 \ 指定默认的字符编码
-DEXTRA_CHARSETS=all \ 指定包含所有字符集
-DDEFAULT_COLLATION=utf8_general_ci \ 指定默认排序规则
-DWITH_READLINE=1 \
-DWITH_SSL=system \ 指定包含的 SSL 支持的类型或要使用的
openssl 安装的路径名。
-DWITH_EMBEDDED_SERVER=1 \ 编译使用 libmysqld 嵌入式库
-DENABLED_LOCAL_INFILE=1 \ 指定允许使用load data infile功能,就是加载本地文件
-DWITH_INNOBASE_STORAGE_ENGINE=1
make && make install
> 初始化
cd /usr/local/mysql/
mkdir mysql-files
chown -R mysql.mysql /usr/local/mysql
> 初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
> 会有一个初始密码
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
> 备份 my.cnf 文件
mv /etc/my.cnf /etc/my.cnf.bak
> 建立 mysql 配置文件
echo -ne "[mysqld]\nbasedir=/usr/local/mysql\ndatadir=/usr/local/mysql/data\n" > /etc/my.cnf
cd /usr/local/mysql/
> 拷贝启动脚本
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
> 添加环境变量
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
忘记数据库密码
> 修改配置文件
vim /etc/my.cnf
skip-grant-tables
> 重启
service mysqld restart
> mysql
> 修改密码
update mysql.user
set authentication_string=PASSWORD('123') where user='root' and host='localhost';