腾讯云CentOS系统安装MySQL

环境: 腾讯云服务器Centos

MySQL数据库的安装

  1. 通过wget下载并安装MySQL官方的Yum Repository(这里安装的版本是5.7
	wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
  1. 使用 yum 安装
 	yum -y install mysql57-community-release-el7-10.noarch.rpm
  1. 安装MySQL服务器
yum -y install mysql-community-server

在这里可能会遇到“No match for argument: mysql-community-server”的错误
解决方法:
先执行如下命令在执行 “yum -y install mysql-community-server

yum module disable mysql

MySQL登录即其配置

  1. 启动MySQL
	service mysqld start
  1. 检查MySQL运行状态
	service mysqld status

正常结果如图所示:
正常结果如图所示

  1. 通过日志文件找到此时root用户的密码,以便登录
	grep "password" /var/log/mysqld.log

如图所示,获取到的密码:07f*1KGJRSM(
如图所示

  1. 使用root用户登录数据库,密码有是上一步骤得到的07f*1KGJRSM(
	mysql -uroot -p

在这里有时候会遇到1045报错
这个错误有两种情况

	# 第一种
	ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
	# 第二种
	ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

两种情况的区别就在于你输入的密码正不正确,正确则是YES,密码错误会显示NO
第一种
报错解析:在本地登录(localhost)的root用户的拒绝访问,输入的用户密码是错的(using password: NO
第二种
报错解析:在本地登录(localhost)的root用户的拒绝访问,输入的用户密码是对的(using password: YES
解决方法:
不论怎样我们要先进入数据库才能对数据库进行修改和配置
a)打开 配置文件 /etc/my.cnf

	vim /etc/my.cnf

b) 编辑my.cnf 在 [mysqld] 下添加 skip-grant-tables ,为了跳过输入密码,可以直接登录

	skip-grant-tables

skip-grant-tables

 3)重启mysql服务
	service mysqld restart
4)重新登录mysql
	# 此次登录设置了跳过密码登录,不用输入密码直接回车即可
	mysql -uroot -p

登陆成功

5)先选择数据库mysql,在修改数据库密码
	# 选择数据库
	use mysql;
	# 重置密码
	update mysql.user set authentication_string=PASSWORD('newpassword') where User='root'; 
	# 刷新权限
	flush privileges;
	# 退出登录
	quit

在这里插入图片描述

6) 重新打开 配置文件 /etc/my.cnf 删掉刚刚添加的 skip-grant-tables,并重启mysql服务
	# 打开配置文件
	vim /etc/my.cnf
	# 自行执行删除操作
	# 重启mysql服务
	service mysqld restart
7)此时则可以进行登录
	# 数据库root用户登录
	mysql -uroot -p
  1. 登录数据库之后,此时什么操作都执行不了,因为我们此次登录才算是第一次登录数据库,
    而MySQL首次登陆默认必须修改密码后才能操作数据库;
    入果不修改直接操作就会报错提醒你修改,如图所示:
    报错提示
    修改密码:
	# 修改密码
	ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';
	# 刷新权限
	flush privileges;
	# 退出登录
	quit

首次登陆修改密码

测试登录

	# 登录数据库
	mysql -uroot -p
	# 自行输入密码,登陆成功如图所示

登陆成功

配置远程登录

在配置之前先查看下现在所有的用户
登录数据库后
	# 选择数据库
	use mysql;
	# 从user表中获取用户及其用户地址
	select User, Host from mysql.user;

在这里插入图片描述

授权

创建远程连接用户并授权

	# 创建远程连接用户并授权
	grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;

解析
grant :授权
all privileges :所有权限
on:用于指定数据库和表
*.*:前一个*之数据库名,后一个*是表名 ,*则代表全部
’root’@‘192.168.0.1’:@前的是用户,例如这里就是root用户;@后的引号代表指定地址:如192.168.0.1就是指定这个ip登录,其他的ip无法登陆;也可以换成localhost,代表只能本地登录即**‘root’@‘localhost’;还可以换成%,表示任意ip都可以登录即’root’@’%’**
***注意:***该命令不仅仅是指定已存在用户的访问权限,还可以直接创建新用户并授权
为了方便权限划分,我在这里不授权root用户进行远程登录,而是另外新建一个账户并指定授权一个数据库,SQL命令如下:

	# 创建数据库
	create database question_bank default character set utf8 collate utf8_general_ci;
	# 创建用户(ques_bank)并授权数据库( question_bank)
	grant all privileges on question_bank.* to 'ques_bank'@'%' identified by 'password' with grant option;
	# 刷新权限
	flush privileges;

测试

1)先在云服务器中检查用户表的存在
	select User, Host from mysql.user;

在这里插入图片描述

2)windows远程登录测试
	# 命令行连接
	mysql -h 119.29.176.133 -P 3306 -uques_bank -p

解析
-h:后跟ip地址
-P:注意这里是大写的P,后跟端口号(一般默认为3306)
-u:后跟访问用户(这里是ques_bank)
-p:注意这里是小写p,表示输入密码,当然也可直接把密码跟在后面可以直接登录,但这样会不安全,mysql也会给出警告

3)登录后检查数据库权限
	# 打印所有数据库
	show databases;

命令行连接
可以看到在windows端登录可以看到的数据出只有必要的信息数据库之外就只有question_bank这个数据库了,与我之前授权的无出入。

至此为止,腾讯云的MySQL的安装配置,远程连接全部完成。可以将改数据库做作为云端数据库进行项目开发了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值