Linux下安装mysql你又踩过多少坑【宇宙最全教程】
一、检查以前是否安装过MySql
因为cnetos7一般默认安装mariadb,所以要检查mysql或者mariadb是否安装
rpm -pa | grep -i mysql rpm -pa | grep -i mariadb
结果:
二、发现有的话就都卸载
rpm -e --nodeps 需要卸载的文件名
三、删除老版本MySQL的开发头文件和库
rm -rf /etc/my.cnf rm -rf /var/lib/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,确定没用后就收工删除
四、准备安装包
可以根据自己的需要选择自己版本的安装包,一般企业用的是5.7+以上的版本,所以我这里下载的是5.7.2的版本,官方下载:https://downloads.mysql.com/archives/community/
我是自己手动下载之后再上传到虚拟机服务器,同志们也可以根据wget进行下载,各取所需
解压压缩包
tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
五、安装相应的依赖包
yum install perl yum install net-tools
六、安装Client & Server
依次执行下列命令进行安装:
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm rpm -ivh mmysql-community-libs-5.7.20-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
七、开启MySql服务
1、查看mysql服务状态:
systemctl status mysqld service mysql status
2、启动mysql
-- 启动
systemctl start mysqld -- 重启
systemctl restart mysqld
八、登录
1、免密码登录设置,修改配置文件 vi /etc/my.cnf ,找到 [mysqld] ,在下面一行添加 skip-grant-tables ,然后":wq"保存
2、重启mysql 服务 systemctl restart mysqld 然后 输入命令 mysql
如下图说明登录成功
3、选择当前数据库 use mysql;
4、修改root密码
update user set authentication_string=PASSWORD(新密码) where user='root';
5、刷新权限
flush privileges;
6、编辑配置文件/etc/my.cnf 取消 skip-grant-tables
7、重启mysql服务 再次登录 mysql -uroot -p回车,输入刚刚修改的密码然后回车
九、设置root用户允许远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privileges;
十、查看防火墙信息并开放端口
前面步骤都执行完之后,就是要开启防火墙并开通mysql 默认端口3306,傻瓜式执行下面几个命令就行,不要问我为什么,执行就完事
1、查看防火墙状态
systemctl status firewalld 2、如果不是显示active状态,需要打开防火墙
systemctl start firewalld 3、查看所有已开放的临时端口(默认为空)
firewall-cmd --list-ports 4、 查看所有永久开放的端口(默认为空)
firewall-cmd --list-ports --permanent 5、添加永久开放的端口(例如:3306端口)
firewall-cmd --add-port=3306/tcp --permanent 6、配置结束后需要输入重载命令并重启防火墙以生效配置
firewall-cmd --reload
systemctl restart firewalld
十一、远程登录连接
我使用的是Navicat Premium 16工具进行连接的
十二、修改数据库的默认编码 和执行引擎
1、先登录查看,数据库的字符编码,命令 :show variables like '%char%';
2、修改配置文件 /ect/my.cnf,将如下配置添加到配置文件
[mysqld]
lower_case_table_names = 1 # 配置表明不区分大小写 1不区分,0区分
character-set-server = utf8 # 设置默认编码为utf8
init_connect = 'SET NAMES utf8'
max_connections = 1024 # 最大连接数
default-storage-engine = INNODB
collation-server = utf8_general_ci [client]
default-character-set=utf8 # 设置默认编码为utf8
参考学习链接
http://t.zoukankan.com/mihoutao-p-13254367.html
################################大功告成##########################################
Linux下安装mysql你又踩过多少坑【宇宙最全教程】的更多相关文章
- 【云服务器部署】---Linux下安装MySQL
[云服务器部署]---Linux下安装MySQL 有关如何阿里云ECS建网站,推荐一片文章,我是是通过这篇文章安装tomcat和jdk的 网址:阿里云ECS建网站(建站)超详细全套完整图文教程! 注意 ...
- Linux 下安装mysql 5.7
Linux 下安装mysql 5.7 本人首次安装时按照菜鸟教程的步骤一步一步来的,结果意外的是 装成5.6了,而且各种无厘头的问题,例如无法启动... 本文参照 大佬:‘这个名字想了很久~’ 的&l ...
- linux下安装mysql问题总结(一)mysqld_safe mysqld from pid file /usr/local/mysql/data/mysql.pid ended
linux下安装mysql数据库 linux版本:CentOS release 6.8 (Final) mysql版本:mysql-5.7.16-linux-glibc2.5-x86_64.tar.g ...
- Linux下安装mysql(2) 及常见问题解决(CentOS)
上一篇讲了基本的安装,这篇姑且算作进阶吧 链接Linux下安装mysql(1) 1.准备好mysql的rpm安装包 2.解压并进入usr/local/mysql 3.先执行useradd mysql( ...
- Linux下安装mysql(1)(CentOS)
标题是(1)也就是说这次是基础安装,这种方式安装,没有组的创建,权限管理,配置文件更改等,仅仅是最基本的安装,适合第一次在linux上安装mysql的新手 1.准备好安装包(Linux-Generic ...
- Linux下安装mysql教程
Linux下安装mysql MySQL官网:https://dev.mysql.com/downloads/mysql/ 到mysql官网下载mysql编译好的二进制安装包,在下载页面Select ...
- Linux下安装 MySQL
Ubuntu环境 使用二进制安装包安装,相对简单绿色 1.到官网下载二进制压缩包http://dev.mysql.com/downloads/mysql/ 2.选择需要的版本 目前最新为5.7.之后选 ...
- linux下安装mysql(rpm文件安装)
数据库包下载: https://www.mysql.com/downloads/ 在GPL开原协议的社区开源版里边下载 我们用mysql community server里边的 其中workbench ...
- Linux 下安装mysql 8.0.11(CentOS 7.4 系统)
CentOS 7 自带MariaDB (前mysql开发工程师开发的,因此与吗,mysql 有很多相似之处) 1.检查卸载自带的MariaDB rpm -qa|grep mariadb //查询出来已 ...
随机推荐
- java 变量的定义 类型转换 基本的数据类型
package com.aaa.zxf.ajax.test; import org.junit.Test; /** * 六. * 如何在ideal的maven项目中导入 Test 测试类? * * * ...
- C++ 构造函数、析构函数与虚函数的关系
编译环境:windows 10 + VS2105 1.构造函数不能为虚函数 虚函数的作用是为了实现C++多态机制.基类定义虚函数,子类可以重写该虚函数.当子类重写父类虚函数后,父类指针指向子类地址时, ...
- Ubuntu18.04 显卡驱动安装(解决各种疑难杂症)
步骤 下载驱动 准备工作 进行安装 检查安装 下载驱动 首先我们需要去官网下载显卡驱动 打开浏览器,在百度搜索框中搜索:显卡驱动 下载 在手动搜索驱动程序一栏,根据自己的显卡进行选择 产品系列中,No ...
- Promise、Generator、Async有什么区别?
前言 我们知道Promise与Async/await函数都是用来解决JavaScript中的异步问题的,从最开始的回调函数处理异步,到Promise处理异步,到Generator处理异步,再到Asyn ...
- X000100
P3172 [CQOI2015]选数 gcd 为 \(K\) 不太好办,所以我们先把它转化成 gcd 为 1 的问题: scanf("%d%d%d%d",&n,&k ...
- H5 canvas 解决合成图模糊(canvas真机下scale不起作用,无法缩放显示的问题)
在解决canvas合成图片模糊的问题想必我们已经了解了 window.devicePixelRatio window接口的devicePixelRatio返回当前显示设备的物理像素分辨率与C ...
- js修改css
转载请注明来源:https://www.cnblogs.com/hookjc/ <style type="text/css"> .style{font-size:9pt ...
- 编写PHP扩展
转载请注明来源:https://www.cnblogs.com/hookjc/ PHP 5.2 环境的扩展(PHP Extension) 需求:比如开发一个叫做 heiyeluren 的扩展,扩展里 ...
- 【转】Python中自定义可迭代对象
python 中内置的可迭代的对象有 list.tuple.set.dict 等,那么我们自己怎么定义一个可迭代的对象呢?先来段代码吧 import re import reprlib RE_WORD ...
- 动画推荐-By胡罗
常用16种视图切换动画 系统自带的动画,结构清晰,代码简单 带弹性动画的分享菜单-https://github.com/KittenYang/KYShareMenu 第一眼以为用的是Pop动画,看了下 ...