zoukankan      html  css  js  c++  java
  • Navicat远程连接MySQL数据库

    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
    ...
    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:~#
    # mysql -u root -p  ,登录mysql,连接用户为root
    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)

  • 相关阅读:
    真正的e时代
    在线手册
    UVA 10616 Divisible Group Sums
    UVA 10721 Bar Codes
    UVA 10205 Stack 'em Up
    UVA 10247 Complete Tree Labeling
    UVA 10081 Tight Words
    UVA 11125 Arrange Some Marbles
    UVA 10128 Queue
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/onefine/p/10499369.html
Copyright © 2011-2022 走看看