zoukankan      html  css  js  c++  java
  • Ubuntu下MySQL的安装及远程连接配置等配置

    一、Ubuntu下MySQL的安装和登陆

    在Ubuntu命令行下输入 sudo apt-get install mysql-server 即可安装mysql服务,默认在安装mysql-server时,会自动安装好mysql-client。

    同时安装好的mysql配置文件位置:/etc/mysql/my.cnf

    启动mysql的快捷图标为:/etc/init.d/mysql

    登陆命令:mysql -u root -p 

    重启命令:mysql sudo /etc/init.d/mysql restart

    二、编码问题的解决

    查看当前MYSQL字符集[在mysql命令行模式下执行]:show variables like 'character%';

    更改编码:sudo vim /etc/mysql/my.cnf

    找到[client] 添加如下两句:

    //默认字符集为utf8

    default-character-set=utf8

    找到[mysqld] 添加添加如下四句:(注意每一行的前后都不能有空格)

    //默认字符集为utf8

    default-character-set=utf8

    //设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行

    init_connect='SET NAMES utf8'

    最后切换到vim的末行模式下执行wq退出vim编辑器.

    停止数据库服务:sudo /etc/init.d/mysql stop

    重新启动:         s udo /etc/init.d/mysql start

    进入数据库:      mysql -uroot -p(你的密码)

    查看编码:         show variables like '% character %';

    此时应该就全是 utf8编码了。

    三、 MySQL服务 加入开机自启动

    加入开机自启动:        sudo update-rc.d mysql defaults

    从开机自启动中移出:    sudo update-rc.d -f mysql remove

    四、远程连接ubuntu下MySQL(Ubuntu 8.0.4 远程连接)

    vim /etc/mysql/my.cnf找到

    bind-address = 127.0.0.1

    这行,注释掉(如下)

    #bind-address = 127.0.0.1

    或者改为

    bind-address = 0.0.0.0

    允许任意IP访问,或者自己指定一个IP地址。

    然后重启 MySQL

    sudo /etc/init.d/mysql restart

    授权用户能进行远程连接

    grant all privileges on *.* to root@"%" identified by "password" with grant option;

    flush privileges;

    第一行命令解释如下:

    *.*             :第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。

    root           :授予root账号。

    “%”           :表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。

    “password”:分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码。

    第二行命令是刷新权限信息,也即是让我们所作的设置马上生效。

    此时再远程连接ubuntu下的MySQL应该能够连接上了。

    五 介绍mysql的几个常用命令

    一、库操作

    1、、创建数据库
    命令:create database <数据库名>
    例如:建立一个名为test的数据库
    mysql> create database test; 
    2、显示所有的数据库
    命令:show databases

    mysql> show databases;
    3、删除数据库
    命令:drop database <数据库名>
    例如:删除名为 test的数据库
    mysql> drop database test;
    4、连接数据库
    命令: use <数据库名>
    例如:如果test数据库存在,尝试存取它:
    mysql> use test;
    屏幕提示:Database changed
    5、查看当前使用的数据库
    mysql> select database();

    6、当前数据库包含的表信息:
    mysql> show tables;


    如果要设置为任何客户端都可以以root连接的话,可以这么写:
    grant all on *.* to  identifiied by 'root的密码'

    格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

    类似这用方法的整理如下:

    1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

    mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;

    2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

    如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

    但问题仍没有解决:

    找到 命令 mysql> flush privileges //使修改生效

    显示影响了零行。

    问题依然没有解决,重新启动mysql sudo /etc/init.d/mysql restart


  • 相关阅读:
    python之高阶函数
    [第二版]多线程的发送与接收
    基本函数与结构
    unp.h
    gdb调试命令
    System V共享内存区
    Posix 共享内存区
    System V信号量
    Posix 信号量
    记录锁
  • 原文地址:https://www.cnblogs.com/akatuki/p/4246807.html
Copyright © 2011-2022 走看看