在阿里云linux上安装与配置Mysql
转载https://www.cnblogs.com/wangshen31/p/9556804.html
删除原来的数据库:
centos7中默认安装了数据库MariaDB,如果直接安装MySQL的话,会直接覆盖掉这个数据库,当然也可以手动删除一下:
[root@localhost ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb [root@localhost ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
然后现在开始将当前目录切换到root也就是: cd ~
下载与安装MySQL:
这里采用Yum管理好了各种rpm包的依赖,能够从指定的服务器自动下载RPM包并且安装,所以在安装完成后必须要卸掉,否则会自动更新。
1.安装MySQL官方的yum repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2.下载rpm包
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
3.安装MySQL服务
[root@localhost ~]# yum -y install mysql-community-server
最后会出现个complete!
4.启动MySQL服务
[root@localhost ~]# systemctl start mysqld.service
看到类似下面的界面,或者以Starting MySqL server.. started MysqlServer..结尾的就成功启动了
还有几个关于MySQL常用的命令:
重启:systemctl restart mysqld.service 停止:systemctl stop mysqld.service 查看状态:systemctl status mysqld.service
还可以配置MySQL的开机启动:
[root@woitumi-128 ~]# systemctl enable mysqld [root@woitumi-128 ~]# systemctl daemon-reload 刚刚配置的服务需要让systemctl能识别,就必须刷新配置
关于登录MySQL:
登录命令:
[root@localhost ~]# mysql -u root -p
意思就是用root用户登录,然后准备输入密码。
第一次启动MySQL后,就会有临时密码,这个默认的初始密码在/var/log/mysqld.log文件中,我们可以用这个命令来查看:
grep "password" /var/log/mysqld.log
可是不知道是我输错密码还是不能复制粘贴,一直显示错误:
(好吧后面看看这个代码应该是 mysql -u root -p才对,可能这样输入命令就不会有错吧……)
然后我们还可以先跳过密码验证登录进MySQL:
停止服务:
systemctl stop mysqld.service
修改mMySQL的配置文件:
vi /etc/my.cnf
在最后加上配置:
skip-grant-tables
然后再启动服务:
systemctl start mysqld.service
然后这时就可以跳过密码来登录mysql:
mysql -u root
然后是修改下密码:(就看别人的例子是这样的)
mysql> use mysql; Database changed mysql> update mysql.user set authentication_string=password('4008') where user='root' ; Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1
然后exit退出mysql,重新在刚刚那个配置文件中去掉skip-grant-tables,然后重启MySQL。
然后就可以用新密码登录了:
sql报错
但这个时候,我试了一下一个简单的sql语句:
what???我不是刚刚才设完密码吗??
然后百度了下。说这个情况还要加个这样的改密码的语句:
SET PASSWORD = PASSWORD('密码');
但这个命令又出现了这样的问题:
额百度后知道原来是密码等级太简单,如果你坚持要这样的密码,要改变密码等级:
登录数据库后,输入
mysql> set global validate_password_policy=0; //改变密码等级 mysql> set global validate_password_length=4; //改变密码最小长度
然后再输入刚刚的命令:
SET PASSWORD = PASSWORD('密码');
然后再用 show databases;就没有报错了
配置远程登录:
MySQL默认root用户只能本地登录,如果要远程连接,要简单设置下,这里直接用root来远程登录不添加其他角色。
使用命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '4008' WITH GRANT OPTION;
.*.的意思是所有库的所有表;To后面跟的是用户名;@后面跟的是ip地址,%代表所有ip地址,identified by后面的是密码。
然后再:
mysql> flush privileges;
注意:
需要注意mysql的配置文件中的bindaddress 的参数和skip-networking 配置
bindaddress : 设定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求),最好注释掉该参数或设置成为127.0.0.1以外的值
skip-networking : 如果设置了该参数项,将导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器,所以应该注释掉该参数
添加3306端口:
命令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
结果说没有运行防火墙:
那就先开防火墙咯:
systemctl status firewalld 查看防火墙状态 systemctl start firewalld 打开防火墙
然后再输入那个开放3306端口的命令就行了
firewall-cmd --zone=public --add-port=3306/tcp --permanent; firewall-cmd --reload 重启防火墙
最后的收尾:
1.我们刚开始说要写在yum的repository,用这个命令就行:
yum -y remove mysql57-community-release-el7-10.noarch
2.MySQL设一下utf8:
打开/etc/my.cnf也就是数据库的配置文件,然后在底部复制粘贴:
[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'
采用navicat新建数据库时,需要将编码方式设置为,字符集:utf8 -- UTF-8 Unicode ,排序规则:utf8_general_ci
3.阿里云的服务器中的安全组加入mysql连接的规则。这个很重要不然远程无法连接上。
4.配置文件的说明:
/etc/my.cnf 这是mysql的主配置文件
/var/lib/mysql mysql数据库的数据库文件存放位置
/var/log mysql数据库的日志输出存放位置
原文地址:https://www.cnblogs.com/boonook/p/11641715.html
- 企业应用通用架构图
- CacheManager:–个通用缓存接口抽象类库
- silverlight: http请求的GET及POST示例
- 如何判断AI创造物能够成为“作品”?附独家视频讲解
- 程序员最喜欢的五大神器
- UE4新手编程之创建C++项目
- 如何启动“Microsoft File Transfer Manager”
- 职责链(Chain of Responsibility)模式在航空货运中的运用实例
- 灵活的 overflow
- 制作WordPress侧边栏“热门文章”小工具并集成在主题中的方法
- 好用的WCF Visualizers
- java 邮件发送
- 制作WordPress侧边栏“随机文章”小工具并集成在主题中的方法
- 使用熔断器设计模式保护软件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- WebSocket 初识篇
- (一)MessageQueue之消息入队
- 宇智波程序笔记2-kafka 生产发送消息失败无响应,
- 高并发系统三大利器之缓存
- Nuxt.js框架(SSR)学习笔记
- 也谈状态模式
- BFE.dev前端刷题1 - 实现curry()
- BFE.dev前端刷题2 - 实现curry() 并支持placeholder
- TKE集群日志解决方案之日志采集
- Newbe.Claptrap 框架入门,第三步 —— 定义 Claptrap,管理商品库存
- 以 B 站为例,聊聊站内消息系统的设计
- 微信小程序开发实战(22):上传文件和下载文件
- 语法糖--JAVA成长之路
- 使用 GitHub Action来托管AutoML软件
- Python爬虫实现自动登录、签到功能 附代码