共计 2288 个字符,预计需要花费 6 分钟才能阅读完成。
最近打算在家里服务器上部署云盘,所以又开始了一系列的环境搭建操作,在安装 mysql 的时候发现有一些与以前不同,于是记录下来,避免下次再出现像今天这样到处搜索问题。
一. 卸载旧版本使用下面的命令检查是否安装有 MySQL Server
rpm -qa | grep mysql
有的话通过下面的命令来卸载掉
rpm -e mysql // 普通删除模式
rpm -e –nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
二:安装 MySQL1. 安装依赖
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2. 获取源码 (国内建议去 sohu 的镜像下载 http://mirrors.sohu.com/mysql…mysql5.7 需要 boost 这个库,网上很难找到合适的版本,建议直接下载有 boost 库的 mysql 版本
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-boost-5.7.24.tar.gz
tar xvf mysql-boost-5.7.24.tar.gz
cd mysql-5.7.24
3. 编译安装
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/usr/local/mysql/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/data/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 \
-DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost
make && make install
编译的参数可以参考 http://dev.mysql.com/doc/refm…。
三:配置 MySQL 使用下面的命令查看是否有 mysql 用户及用户组
cat /etc/passwd #查看用户列表
cat /etc/group #查看用户组列表
如果没有就创建
groupadd mysql
useradd -g mysql mysql
修改 /usr/local/mysql 权限
chown -R mysql:mysql /usr/local/mysql
mysql5.7.18 以后不再提供默认的 mysql 配置文件,这里我们再网上找了一个简单的配置,vi /etc/my.cnf 然后写入一下内容
[client]
port = 3306
default-character-set=utf8
[mysqld]
# 一般配置选项
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
配置服务脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on #添加到开机启动项
service mysql start #启动 mysql
将 mysql 执行文件加到 path 目录,vi /etc/profile
PATH=/usr/local/mysql/bin:$PATH
export PATH
然后执行 source /etc/profile
四:初始化 mysql1. 执行初始化脚本 (初始化成功最后一行会生成 mysql root 密码注意记录下来, 或者也可以用./mysqld –initialize–insecure 初始化一个空密码的账号)
cd /usr/local/mysql/bin
./mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data
…
2019-04-11T14:34:15.922856Z 1 [Note] A temporary password is generated for root@localhost: /rTmud(Th5Yy
2. 防火墙开放 3306 端口 Firewalld 中添加端口方法如下:firewall-cmd –zone=public –add-port=3306/tcp –permanentfirewall-cmd –reload
参考文章 https://www.cnblogs.com/hsbt2…http://www.cnblogs.com/xiongp…