Linux学习-安装MySQL并设置远程连接

安装mysql

1.首先登录云服务器
2.下载rpm文件,可在任意文件夹下下载
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

3.安装rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
确认的时候输入y就好了,安装完成之后,在/etc/yum.repos.d目录下新增了两个文件,mysql-community.repo和mysql-community-source.repo
4.yum 安装mysql
yum install mysql-community-server

5.启动mysql服务
systemctl start mysqld

查看mysql状态
systemctl status mysqld

6.设置mysql开机启动

systemctl enable mysqld
systemctl daemon-reload

6.5.重启mysql
systemctl restart mysqld

7.查找root密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep 'temporary password' /var/log/mysqld.log

8.登录mysql,密码为刚才查找的密码
mysql -u root -p

9.修改登录密码
set password for 'root'@'localhost'=password('MyNewPass!');

设置远程连接

一般来说我们都需要使用Navicat来连接数据库,但是root帐号没有远程连接的权限,只能在本机(localhost)登录,所以需要新建一个账号
create user 'root'@'%' identified by 'password';
这个语句创建的账号权限不高,使用新的语句:

grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;

  • all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。
  • on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写“*”表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
  • to:将权限授予哪个用户。格式:”用户名”@”登录IP或域名”。%表示没有限制,在任何主机都可以登录。比如:”yangxin”@”192.168.0.%”,表示yangxin这个用户只能在192.168.0IP段登录
  • identified by:指定用户的登录密码
  • with grant option:表示允许用户将自己的权限授权给其它用户
  • 可以使用GRANT给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限,比如你先给用户添加一个SELECT权限,后来又给用户添加了一个INSERT权限,那么该用户就同时拥有了SELECT和INSERT权限。

查看数据库的用户和权限(localhost代表该账户只能在本机登录,%表示在任何主机都能登录)
SELECT `Host`,`User` FROM `user`;

mysql> SELECT `Host`,`User` FROM `user`;
+-----------+---------------+
| Host      | User          |
+-----------+---------------+
| %         | fanfeifan     |
| %         | root          |
| %         | yangxin       |
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
6 rows in set (0.00 sec)

查看mysql端口号

mysql> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.01 sec)

ok ,现在使用这个新账号就可以连接数据库了

转载于:https://www.jianshu.com/p/873ed0ab5419

猜你喜欢

转载自blog.csdn.net/weixin_33725722/article/details/91143958