标签:CentOS 登录 数据库 腾讯 密码 mysql MySQL root
腾讯云CentOS7安装MySQL
环境: 腾讯云服务器Centos
MySQL数据库的安装
- 通过wget下载并安装MySQL官方的Yum Repository(这里安装的版本是5.7)
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
- 使用 yum 安装
yum -y install mysql57-community-release-el7-10.noarch.rpm
- 安装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登录即其配置
- 启动MySQL
systemctl start mysqld.service
- 检查MySQL运行状态
systemctl status mysqld.service
正常结果如图所示:
- 通过日志文件找到此时root用户的密码,以便登录
grep "password" /var/log/mysqld.log
如图所示,获取到的密码:07f*1KGJRSM(
- 使用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)
解决方法:
不论怎样我们要先进入数据库才能对数据库进行修改和配置\
1) 打开 配置文件 /etc/my.cnf
vim /etc/my.cnf
2) 编辑my.cnf 在 [mysqld] 下添加 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
- 登录数据库之后,此时什么操作都执行不了,因为我们此次登录才算是第一次登录数据库,
而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的安装配置,远程连接全部完成。可以将改数据库做作为云端数据库进行项目开发了。
标签:CentOS,登录,数据库,腾讯,密码,mysql,MySQL,root 来源: https://blog.csdn.net/qq_38872258/article/details/112100604
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。