linux下安装 mysql-5.7.27 没有坑,我已经踩了巨多的坑,都填了!

踩了超级多的坑才配置成功,真难啊!

1、查找并卸载原有的mysql数据库

链接:mysql安装包百度网盘链接
提取码:spks

1.使用 rpm -qa | grep mysql 命令查找mysql数据库软件包及依赖包;
若没有任何显示则证明没有相关的mysql数据库;
若显示了相关的软件包及依赖包,使用 yum remove xxx 命令依次删除显示的包;注意:xxx为显示的软件包及依赖包包名;

 yum remove xxx

2.使用 find / -name mysql 命令查找原有mysql数据库的相关配置文件;

可能显示如下:

/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/share/mysql
然后根据需求情况使用命令 rm -rf xxx 依次删除以上文件,

例如:rm -rf /etc/selinux/targeted/active/modules/100/mysql;

查看mariadb的相关包并卸载
1.使用 rpm -qa | grep mariadb 命令查看;
显示为:mariadb-libs-5.5.56-2.el7.x86_64
2.使用 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 命令卸载;
3.使用 rm /etc/my.cnf 删除my.cnf文件(这个文件可能不存在,没关系的),防止对新安装的数据库有冲突,后面会再新建一个my.cnf文件;

2、上传解压包

在这里插入图片描述
1、解压命令

tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

2、进入 local目录

cd /use/local

3、修改一下名字 太长了

mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql-5.7.27

在这里插入图片描述

4、检查mysql组和用户是否存在,如无创建

查看是否存在
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql

创建mysql用户组
groupadd mysql
创建一个用户名为mysql的用户并加入mysql用户组
useradd -g mysql mysql

5、(可以不操作)修改用户mysql的密码为mysql(自己设定 我一般自己设定123456)

passwd mysql
hanging password for user mysql.
New password: 输入密码
BAD PASSWORD: The password is a palindrome
Retype new password: 在此输入密码
passwd: all authentication tokens updated successfully. (这就是修改完成)

在这里插入图片描述

5、进入mysql-5.7.27目录并创建data目录并且赋予权限

cd /usr/local  进入
chown -R mysql mysql-5.7.27/ 执行
chgrp -R mysql mysql-5.7.27/ 执行
cd mysql-5.7.27/ 进入
mkdir data   创建目录
chown -R mysql:mysql data  执行

6、进入到cd /etc 修改my.cnf 编辑内容在图片下方 (注意目录一定要改为自己的)

cd /etc 
vim /etc/my.cnf

在这里插入图片描述
编辑内容

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
#用户名
user=mysql
# 设置mysql的安装目录
basedir=/usr/local/mysql-5.7.27
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql-5.7.27/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

3、初始化数据库

1、进入cd /usr/local/mysql-5.7.27目录

cd /usr/local/mysql-5.7.27   进入目录
bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.7.27/ --datadir=/usr/local/mysql-5.7.27/data/  初始化

会加载以下信息-------------

2017-04-17 17:40:02 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2017-04-17 17:40:05 [WARNING] The bootstrap log isn't empty:
2017-04-17 17:40:05 [WARNING] 2017-04-17T09:40:02.728710Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead
2017-04-17T09:40:02.729161Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
2017-04-17T09:40:02.729167Z 0 [Warning] Changed limits: table_open_cache: 407 (requested 2000)

2、cp一个文件

cd /usr/local/mysql-5.7.27   进入目录
cp support-files/mysql.server /etc/init.d/mysqld 拷贝
chown 777 /etc/my.cnf  赋予权限
chmod +x /etc/init.d/mysqld  赋予权限

3、启动mysql

yum install -y mariadb-server

service mysql start 启动
service mysql status 查看状态
service mysql stop  关闭

或者
service mysqld start 启动
service mysqld status 查看状态

4、获取初始密码

cat /root/.mysql_secret  执行
显示
# Password set for user 'root@localhost' at 2017-04-17 17:40:02 
_pB*3VZl5T<6 这就是初始密码

5、进入mysql

mysql -uroot -p  回车
输入初始密码(_pB*3VZl5T<6)  粘贴复制  

如果 mysql -uroot -p  回车没有反应的话 执行下面这一行
mysql -h 127.0.0.1 -u root -p 执行
输入初始密码(_pB*3VZl5T<6)  粘贴复制 

6、修改密码

三条逐步执行!
SET PASSWORD = PASSWORD('新密码');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;                   

在这里插入图片描述
执行完成 exit 退出!再重新登录一次 看看密码是否修改成功!

7、设置远程访问

这里主要执行下面三个命令(先登录数据库)
use mysql;        #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;    #刷新

如果执行完三条命令,远程访问还是不成功执行一下命令

原因是开启了防火墙:但是我们最好不要关闭 执行释放端口
```bash
# firewall-cmd --add-port=3306/tcp --permanent   释放接口
# firewall-cmd --reload  刷新一下

win+r 输入 cmd

执行
telnet ip地址 3306  可以连接上 证明端口释放成功 

8、用navicat 或者 sqlyog 远程链接

我这里用的sqlyog 链接的 我的navicat激活到期了
在这里插入图片描述
测试链接,应该是没有问题的。然后直接链接。操作数据库吧!

遇到问题

service mysql start 启动不起来怎么办
可能是有进程正在启动 杀掉就行了

ps -aux |grep mysql 查看mysql进程

kill -9 进程号杀掉

下一篇 是关于mysql 用户和权限的知识

链接地址

mysql搭建完成!踩了太多的坑了!自己总结了一个顺利搭建没有坑的过程,请认真观看根据流程一步步操作!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值