Navicat远程连接MySQL数据库
发布日期:2021-07-01 05:19:43 浏览次数:2 分类:技术文章

本文共 7279 字,大约阅读时间需要 24 分钟。

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/advantage74 个可升级软件包。0 个安全更新。Last login: Fri Jan 25 17:36:39 2019 from 192.168.249.1root@onefine-virtual-machine:~#
安装mysql
root@onefine-virtual-machine:~# mysqlCommand 'mysql' not found, but can be installed with:apt install mysql-client-core-5.7apt install mariadb-client-core-10.1root@onefine-virtual-machine:~# sudo apt-get install mysql-server...root@onefine-virtual-machine:~#
查看MySQL是否启动成功:
root@onefine-virtual-machine:~# ps aux|grep mysqldmysql      4674  0.1  5.7 1128032 175292 ?      Sl   10:00   0:00 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pidroot       4845  0.0  0.0  17480   900 pts/0    S+   10:03   0:00 grep --color=auto mysqldroot@onefine-virtual-machine:~#

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

设置root的密码:
root@onefine-virtual-machine:~# mysqladmin -uroot password 123456mysqladmin: [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:~## mysql -u root -p  ,登录mysql,连接用户为rootroot@onefine-virtual-machine:~# mysql -uroot -pEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 3Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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> exitByeroot@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...:wqroot@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.socknice            = 0[mysqld]## * Basic Settings#user            = mysqlpid-file        = /var/run/mysqld/mysqld.pidsocket          = /var/run/mysqld/mysqld.sockport            = 3306basedir         = /usrdatadir         = /var/lib/mysqltmpdir          = /tmplc-messages-dir = /usr/share/mysqlskip-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         = 16Mmax_allowed_packet      = 16Mthread_stack            = 192Kthread_cache_size       = 8# This replaces the startup script and checks MyISAM tables if needed# the first time they are touchedmyisam-recover-options  = BACKUP#max_connections        = 100#table_open_cache       = 64#thread_concurrency     = 10## * Query Cache Configuration#query_cache_limit       = 1Mquery_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.logexpire_logs_days        = 10max_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.pemroot@onefine-virtual-machine:~#
重启MySQL服务:
root@onefine-virtual-machine:~# sudo service mysql restartroot@onefine-virtual-machine:~# ps aux|grep mysqldmysql      5369  1.3  5.7 1128032 175196 ?      Sl   10:26   0:00 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pidroot       5407  0.0  0.0  17480   892 pts/0    S+   10:27   0:00 grep --color=auto mysqldroot@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 -pEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 11Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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> exitByeroot@onefine-virtual-machine:~#
navicat新建数据库的注意事项:

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

转载地址:https://onefine.blog.csdn.net/article/details/86664364 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python PIP的使用
下一篇:Python爬虫基础

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月16日 23时29分55秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章