The value of knowledge lies not in possession, but in share.

0%

CentOS安装MySQL并实现远程链接

Navicat是一套数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。Navicat 是以直觉化的图形用户界面而建的,可以安全和简单地创建、组织、访问并共用信息。

本文将介绍如何在云服务器中的CentOS 7.x版本下安装MySQL及基于Navicat实现数据库的远程链接。

安装MySQL

进入目录:

1
cd /usr/local/src/

安装MySQL:

1
2
3
4
5
6
# 下载安装包
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
# 安装rpm包
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
# 安装 mysql-server
yum -y install mysql-server

重启MySQL:

1
2
service mysqld restart
# 或 /etc/init.d/mysqld start

获取mysql创建的随机密码

1
2
3
grep "password" /var/log/mysqld.log
# 会显示类似如下:
# [Note] A temporary password is generated for root@localhost: <G142uD),u59

通过上面命令得到的随机密码登录MySQL:

1
mysql -u root -p

重置密码:

1
2
3
4
5
6
7
# 设置密码,注意密码的格式 一般为大写+小写+数字+特殊符号!
mysql> alter user 'root'@'localhost' identified by 'Password123!';
# 使用' flush privileges '刷新权限
mysql> flush privileges;
# 退出MySQL
mysql> exit;
# 注,SQL命令最后有分号";"

开机自启(自选):

1
2
3
4
5
6
7
8
# 设置开机自启
systemctl enable mysqld.service
# 启动MySQL
systemctl start mysqld
# 停止MySQL
systemctl stop mysqld
# 查看MySQL状态
systemctl status mysqld

实现远程链接

1
2
3
4
5
6
7
8
9
10
# 登录MySQL:
mysql -u root -p
# 选择MySQL:
mysql> use mysql;
# 若允许所有用户远程访问 修改用户名和密码为你自己的
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
# 若允许单个ip 修改用户名和密码为你自己的
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
# 最后,是上述修改立即生效
mysql> FLUSH PRIVILEGES;

注,一定要前往服务商,修改服务器安全组规则,新增3306端口。

于Navicat客户端中建立远程链接:

以下为Ubuntu中设置远程链接的教程,同时Ubuntu也可通过上述方法来设置远程链接。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 登陆mysql
$ mysql -u root -p
mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> select host, user from user;
+-----------+------------------+
| host | user |
+-----------+------------------+
| % | root |
| localhost | debian-sys-maint |
| localhost | mysql.session |
| localhost | mysql.sys |
+-----------+------------------+
4 rows in set (0.00 sec)
# ok 退出MySQL 重启服务
mysql> quit;
$ service mysqld restart
# 发现客户端远程还是连接不上 继续修改mysql.cnf配置文件
# 需要root权限,配置文件是只读的
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 往下翻,注释掉这一行,保存退出
# bind-address = 127.0.0.1
# 重启服务
$ service mysqld restart
# 以上,就可以了

🍭支持一根棒棒糖吧!