系统:CentOS 7.2 64 位
mysql 版本:5.7.19
步骤 1 下载 mysql
到这里下载 选 linux 64 位
下载 Compressed TAR Archive 即可。
也可以复制下这个 tar 包的地址在服务器使用 wget 命令下载
如果下载速度太慢我推荐你用 迅雷 什么的下载,然后使用 scp 命令上传到你的服务器上。 scp 命令看这里
步骤 2 删除 CentOS 7 以上自带的 mariadb
查询已经安装的 mariadb
rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
查询到版本之后,执行删除
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
这里如果没有删除,后面在装的时候会出错
步骤 3 创建 mysql 用户
如果你已经创建了 mysql 用户,跳过这个
groupadd mysql
useradd -g mysql mysql
步骤 4 删除 CentOS 自带的 my.cnf
CentOS 7 在 etc 目录下自带了 my.cnf 的配置文件,如果你跟我一样 有强迫症(我的电脑我说了算!)必需删除!
另外,my.cnf 在 mysql 5.7 中不是必需的文件
步骤 5 安装
// cd 到 tar 包目录下
// 解压 tar 包
tar -xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
// 转移到 local 目录下 并重新命名
mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql
mkdir data // 创建 data 目录
// 修改目录及文件夹所属 mysql 用户
chown -R mysql ./
chgrp -R mysql ./
配置环境变量
vi ~/.bash_profile // 如果没有这个文件,创建即可
添加代码
MYSQL=/usr/local/mysql
export PATH=PATH:MYSQL/bin
source ~/.bash_profile //更新环境变量
echo $PATH //检查是否添加成功
安装和初始化数据库
mysqld --initialize --user=mysql
执行后你会看到
2017-08-29T11:44:46.928640Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-08-29T11:44:48.992203Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-08-29T11:44:49.215415Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-08-29T11:44:49.334991Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 495febba-dsad-wqee-e12r-00163e0ef324.
2017-08-29T11:44:49.336771Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-08-29T11:44:49.337235Z 1 [Note] A temporary password is generated for root@localhost: 8!,+4^qia8aJ
A temporary password 临时密码
存一下这个密码, 等下会用到
添加服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
mv /etc/init.d/mysql.server /etc/init.d/mysql //改名为 mysql
systemctl daemon-reload // 更新
systemctl start mysql //启动 mysql 服务
登录 mysql
mysql -uroot -p'8!,+4^qia8aJ'
// 登录之后重置一下 mysql 的密码
alter user 'root'@'localhost' identified by 'mysqlroot'
至此 mysql 已经搭建完成
博主刚开始装的时候,没有删除 mariadb 结果报错报的死去活来的,耽误好长时间。
各位引以为戒。
在安装时遇到过了的问题:
问题 1: Can't connect to local MySQL server through socket '/tmp/mysql.sock'
这个是服务没有启动的问题 〜
问题 2:执行 systemctl start mysql 时 出现
2017-08-29T08:13:33.196215Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
2017-08-29T08:13:33.902902Z mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended
感觉这个是因为 mariadb 没有删除,出现冲突的原因没有排查问题 后面删除了 mariadb 之后,一步流程全走通了。
在此记录,以备不时之需。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于