Navicat远程连接MySQL数据库

版权声明:本文为 [onefine] 原创文章,转载请注明出处。 https://blog.csdn.net/jiduochou963/article/details/86664364

Navicat连接远程MySQL数据库

环境:Ubuntu 18.10 (GNU/Linux 4.18.0-13-generic x86_64)+Navicat 12.0.18(64-bit)-Premium
Welcome to Ubuntu 18.10 (GNU/Linux 4.18.0-13-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage


74 个可升级软件包。
0 个安全更新。

Last login: Fri Jan 25 17:36:39 2019 from 192.168.249.1
root@onefine-virtual-machine:~#
安装mysql
root@onefine-virtual-machine:~# mysql

Command 'mysql' not found, but can be installed with:

apt install mysql-client-core-5.7
apt install mariadb-client-core-10.1

root@onefine-virtual-machine:~# sudo apt-get install mysql-server
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
  libaio1 libevent-core-2.1-6 libhtml-template-perl mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7
建议安装:
  libipc-sharedcache-perl mailx tinyca
下列【新】软件包将被安装:
  libaio1 libevent-core-2.1-6 libhtml-template-perl mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7
升级了 0 个软件包,新安装了 9 个软件包,要卸载 0 个软件包,有 75 个软件包未被升级。
需要下载 20.6 MB 的归档。
解压缩后会消耗 159 MB 的额外空间。
您希望继续执行吗? [Y/n] Y
获取:1 http://cn.archive.ubuntu.com/ubuntu cosmic/main amd64 mysql-common all 5.8+1.0.4 [7,308 B]
获取:2 http://cn.archive.ubuntu.com/ubuntu cosmic/main amd64 libaio1 amd64 0.3.111-1 [7,224 B]
获取:3 http://cn.archive.ubuntu.com/ubuntu cosmic-updates/main amd64 mysql-client-core-5.7 amd64 5.7.25-0ubuntu0.18.10.2 [7,034 kB]
获取:4 http://cn.archive.ubuntu.com/ubuntu cosmic-updates/main amd64 mysql-client-5.7 amd64 5.7.25-0ubuntu0.18.10.2 [2,304 kB]
获取:5 http://cn.archive.ubuntu.com/ubuntu cosmic-updates/main amd64 mysql-server-core-5.7 amd64 5.7.25-0ubuntu0.18.10.2 [7,831 kB]
获取:6 http://cn.archive.ubuntu.com/ubuntu cosmic/main amd64 libevent-core-2.1-6 amd64 2.1.8-stable-4build1 [85.9 kB]
获取:7 http://cn.archive.ubuntu.com/ubuntu cosmic-updates/main amd64 mysql-server-5.7 amd64 5.7.25-0ubuntu0.18.10.2 [3,240 kB]
获取:8 http://cn.archive.ubuntu.com/ubuntu cosmic/main amd64 libhtml-template-perl all 2.97-1 [59.0 kB]
获取:9 http://cn.archive.ubuntu.com/ubuntu cosmic-updates/main amd64 mysql-server all 5.7.25-0ubuntu0.18.10.2 [9,956 B]
已下载 20.6 MB,耗时 2分 43秒 (127 kB/s)
正在预设定软件包 ...
正在选中未选择的软件包 mysql-common。
(正在读取数据库 ... 系统当前共安装有 178776 个文件和目录。)
正准备解包 .../0-mysql-common_5.8+1.0.4_all.deb  ...
正在解包 mysql-common (5.8+1.0.4) ...
正在选中未选择的软件包 libaio1:amd64。
正准备解包 .../1-libaio1_0.3.111-1_amd64.deb  ...
正在解包 libaio1:amd64 (0.3.111-1) ...
正在选中未选择的软件包 mysql-client-core-5.7。
正准备解包 .../2-mysql-client-core-5.7_5.7.25-0ubuntu0.18.10.2_amd64.deb  ...
正在解包 mysql-client-core-5.7 (5.7.25-0ubuntu0.18.10.2) ...
正在选中未选择的软件包 mysql-client-5.7。
正准备解包 .../3-mysql-client-5.7_5.7.25-0ubuntu0.18.10.2_amd64.deb  ...
正在解包 mysql-client-5.7 (5.7.25-0ubuntu0.18.10.2) ...
正在选中未选择的软件包 mysql-server-core-5.7。
正准备解包 .../4-mysql-server-core-5.7_5.7.25-0ubuntu0.18.10.2_amd64.deb  ...
正在解包 mysql-server-core-5.7 (5.7.25-0ubuntu0.18.10.2) ...
正在选中未选择的软件包 libevent-core-2.1-6:amd64。
正准备解包 .../5-libevent-core-2.1-6_2.1.8-stable-4build1_amd64.deb  ...
正在解包 libevent-core-2.1-6:amd64 (2.1.8-stable-4build1) ...
正在设置 mysql-common (5.8+1.0.4) ...
update-alternatives: 使用 /etc/mysql/my.cnf.fallback 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
正在选中未选择的软件包 mysql-server-5.7。
(正在读取数据库 ... 系统当前共安装有 178943 个文件和目录。)
正准备解包 .../mysql-server-5.7_5.7.25-0ubuntu0.18.10.2_amd64.deb  ...
正在解包 mysql-server-5.7 (5.7.25-0ubuntu0.18.10.2) ...
正在选中未选择的软件包 libhtml-template-perl。
正准备解包 .../libhtml-template-perl_2.97-1_all.deb  ...
正在解包 libhtml-template-perl (2.97-1) ...
正在选中未选择的软件包 mysql-server。
正准备解包 .../mysql-server_5.7.25-0ubuntu0.18.10.2_all.deb  ...
正在解包 mysql-server (5.7.25-0ubuntu0.18.10.2) ...
正在设置 libevent-core-2.1-6:amd64 (2.1.8-stable-4build1) ...
正在设置 libhtml-template-perl (2.97-1) ...
正在处理用于 libc-bin (2.28-0ubuntu1) 的触发器 ...
正在设置 libaio1:amd64 (0.3.111-1) ...
正在处理用于 systemd (239-7ubuntu10.6) 的触发器 ...
正在处理用于 man-db (2.8.4-2) 的触发器 ...
正在设置 mysql-client-core-5.7 (5.7.25-0ubuntu0.18.10.2) ...
正在设置 mysql-server-core-5.7 (5.7.25-0ubuntu0.18.10.2) ...
正在设置 mysql-client-5.7 (5.7.25-0ubuntu0.18.10.2) ...
正在设置 mysql-server-5.7 (5.7.25-0ubuntu0.18.10.2) ...
update-alternatives: 使用 /etc/mysql/mysql.cnf 来在自动模式中提供 /etc/mysql/my.cnf (my.cnf)
Renaming removed key_buffer and myisam-recover options (if present)
Created symlink /etc/systemd/system/multi-user.target.wants/mysql.service → /lib/systemd/system/mysql.service.
正在设置 mysql-server (5.7.25-0ubuntu0.18.10.2) ...
正在处理用于 libc-bin (2.28-0ubuntu1) 的触发器 ...
正在处理用于 systemd (239-7ubuntu10.6) 的触发器 ...
root@onefine-virtual-machine:~#
查看MySQL是否启动成功:
root@onefine-virtual-machine:~# ps aux|grep mysqld
mysql      4674  0.1  5.7 1128032 175292 ?      Sl   10:00   0:00 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
root       4845  0.0  0.0  17480   900 pts/0    S+   10:03   0:00 grep --color=auto mysqld
root@onefine-virtual-machine:~#

可以看到mysql已经启动,PID(进程号)是4674

设置root的密码:
root@onefine-virtual-machine:~# mysqladmin -uroot password 123456
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
root@onefine-virtual-machine:~#
root@onefine-virtual-machine:~# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-0ubuntu0.18.10.2 (Ubuntu)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql> exit
Bye
root@onefine-virtual-machine:~#
让MySQL可以被远程访问:

默认情况下MySQL只在本机启动,因为只在本地进行监听;进入/etc/mysql/mysql.conf.d/mysqld.cnfbind-address = 127.0.0.1改为bind-address = 0.0.0.0

root@onefine-virtual-machine:~# sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
...
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 0.0.0.0
...
:wq
root@onefine-virtual-machine:~# cat /etc/mysql/mysql.conf.d/mysqld.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 0.0.0.0
#
# * Fine Tuning
#
key_buffer_size         = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover-options  = BACKUP
#max_connections        = 100
#table_open_cache       = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#slow_query_log         = 1
#slow_query_log_file    = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id              = 1
#log_bin                        = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size   = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
root@onefine-virtual-machine:~#

重启MySQL服务:
root@onefine-virtual-machine:~# sudo service mysql restart
root@onefine-virtual-machine:~# ps aux|grep mysqld
mysql      5369  1.3  5.7 1128032 175196 ?      Sl   10:26   0:00 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
root       5407  0.0  0.0  17480   892 pts/0    S+   10:27   0:00 grep --color=auto mysqld
root@onefine-virtual-machine:~#

新的PID:5369

给远程root用户授权

MySQL的权限是非常严谨的,上一部仅仅是对外绑定ip,这还不行——还要给root用户授权,让root用户在非本机访问仍然有权限访问才行,如果不设置的话除localhost的连接被接受之外其他外部的ip连接过去是不被接受的。

  • 权限赋值命令:GRANT ALL PRIVILEGES ON *.* To 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    • GRANT ALL PRIVILEGES 授予所有权限
    • ON *.* 在所有的表上
    • To 'root'@'%' 通过root用户连接过来的外部所有ip(%)
    • IDENTIFIED BY '123456' 密码
  • 刷新权限:flush privileges;

    • 赋值完成必须刷新才能生效
root@onefine-virtual-machine:~# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.25-0ubuntu0.18.10.2 (Ubuntu)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON *.* To 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
root@onefine-virtual-machine:~#
navicat新建数据库的注意事项:

字符集utf8(或utf8 - UTF-8 Unicode),排序规则utf8_general_ci。(这里Nvavicat环境:12.0.18(64-bit)-Premium)

猜你喜欢

转载自blog.csdn.net/jiduochou963/article/details/86664364