阿里云ubuntu 12.04 64位部署java及配置mysql教程

系统版本:ubuntu 12.04 64位

安装(测试时使用的版本是mysql-server-5.5):

    apt-get install mysql-server

启动和停止等:

    /etc/init.d/mysql start

    /etc/init.d/mysql restart

    /etc/init.d/mysql stop

本地连接:

    mysql -uname -p

更改mysql编码(比如改为utf8)

    进入mysql,查看当前编码:

        mysql> show variables like 'character%';

    显示如下:

 +--------------------------+----------------------------+
 | Variable_name        | Value                        |
 +--------------------------+----------------------------+
 | character_set_client    | utf8                 |
 | character_set_connection | utf8                  |
 | character_set_database  | latin1               |
 | character_set_filesystem | binary               |
 | character_set_results   | utf8                |
 | character_set_server    | latin1               |
 | character_set_system    | utf8                |
 | character_sets_dir     | /usr/share/mysql/charsets/ |
 +--------------------------+----------------------------+

    可以看到创建一个表是latin1的格式。

    退出mysql,修改配置文件:

        /etc/mysql/my.cnf

    添加:

        [client]
        default-character-set=utf8
        [mysqld]
        character-set-server=utf8
        //default-character-set=utf8  //mysql版本5以前用这句

    修改后需要重启mysql:

        /etc/init.d/mysql restart  #启动成功

    再次进入mysql查看:

 mysql> show variables like 'character%';

    显示如下:

 +--------------------------+----------------------------+
 | Variable_name            | Value                      |
 +--------------------------+----------------------------+
 | character_set_client     | utf8                       |
 | character_set_connection | utf8                       |
 | character_set_database   | utf8                       |
 | character_set_filesystem | binary                     |
 | character_set_results    | utf8                       |
 | character_set_server     | utf8                       |
 | character_set_system     | utf8                       |
 | character_sets_dir       | /usr/share/mysql/charsets/ |
 +--------------------------+----------------------------+

    修改成功。

    *注意:需要重新创建数据库和表才能生效,老数据库中的数据编码不会改变。

更改mysql数据库位置:

    数据库文件默认存储位置在/var/lib/mysql。
 

    MySQL数据库的文件结构是怎么样的呢,对于这样子创建的数据库命令:

        CREATE DATABASE mysqldb

    在默认的数据库存储位置下就会有个文件夹mysqldb。要操作数据库首先得停止数据库进程:

        $sudo /etc/init.d/mysql stop

    本文以转移到/home/mysql这个位置为例,下面命令将原有数据库转移到新位置:

        $sudo cp –R –p /var/lib/mysql /home/mysql

    编辑MySQL配置文件:

        $sudo vim /etc/mysql/my.cnf

    找到datadir这一行,将后面等于号之后的内容更改为/home/mysql然后保存退出。

    自Ubuntu 7.10开始,Ubuntu就开始使用一种安全软件叫做AppArmor,这个安全软件会在你的文件系统中创建一个允许应用程序访问的区域(专业术语:应 用程序访问控制)。如果不为MySQL修改AppArmor配置文件,永远也无法为新设置的数据库存储位置启动数据库服务。

    配置AppArmor:

        $sudo vim /etc/apparmor.d/usr.sbin.mysqld

    找到/var/lib/mysql/这两行,注释掉这两行(在这两行前分别添加一个符号“#”即可注释),在这两行之前或之后加上下面内容:

        /home/mysql/ r,
        /home/mysql/** rwk,

    保存后退出,执行命令:

        $sudo /etc/init.d/apparmor reload

    等待显示Reloading AppArmor profiles : done.即可以重启MySQL服务:

  $sudo /etc/init.d/mysql start

    至此MySQL数据库存储位置就更改完毕了。

    可能遇到的问题:

        Q:当我运行$sudo /etc/init.d/apparmor reload却返回信息

         Skipping profile /etc/apparmor.d/usr.sbin.mysqld~
         : Warning.

            并且也无法启动MySQL服务,怎么办呢?

        A:出现这个问题可能是因为你使用了$sudo gedit或$gksu gedit这样子的命令来编辑usr.sbin.mysqld这个配置文件的,这两个图形界面文本编辑器会在相同位置生成一个 usr.sbin.mysqld~的文件,从而影响了AppArmor读取配置文件,出现这个问题先删除这个usr.sbin.mysqld~文件:

            $sudo rm /etc/apparmor.d/usr.sbin.mysqld~

   

    然后使用$sudo vim这个终端文本编辑器来编辑配置文件即可。

远程链接mysql数据库

    进入mysql,执行如下命令:
        格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";
  例如:
                   grant select,update,insert,delete on *.* to root@192.168.1.12 identified by "passwd";
 
                    如果登录主机(host字段)的值为%就表示可以在任何客户端机器上能以root用户登录到mysql服务器。可用如下命令修改:
                        update user set host = ’%’ where user = ’root’;
                    授权权限改为ALL PRIVILEGES表示对所有操作授权,也可在授权时使用如下命令:
                        grant all privileges  on *.* to root@'%' identified by "passwd";
 
    查看当前用户权限:
        use mysql;
        select host,user,password from user;

    修改授权后,需要刷新授权缓存,以便授权生效。
        FLUSH PRIVILEGES;

    注意:远程链接需要修改 /etc/mysql/my.cnf 文件,
        找到:bind-address = 127.0.0.1
        修改为:bind-address = 0.0.0.0 或者 注释掉
  重启mysql : sudo /etc/init.d/mysql restart

        *使用客户端链接时(standard(tcp/ip)链接),default schema项需要填写数据库名称(必须在服务器上已存在)

导入导出mysql数据

    导入mysql:

        mysql> source name.sql(路径);

    导出mysql:

        使用mysqlworkbench客户端-》data export。

mysql用户管理

    假设用户名:xoneday  用户数据库:blog

1.新建用户。

    //登录MYSQL

    @>mysql -u root -p

    @>密码

    //创建用户

    mysql> insert into mysql.user(Host,User,Password) values("localhost”,”xoneday”,password("1234"));

    //刷新系统权限表

    mysql>flush privileges;

    这样就创建了一个名为:xoneday  密码为:1234  的用户。

    然后登录一下。

    mysql>exit;

    @>mysql -u xoneday -p

    @>输入密码

    mysql>登录成功

2.为用户授权。

    //登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.

    @>mysql -u root -p

    @>密码

    //首先为用户创建一个数据库(blog)

    mysql>create database blog;

    //授权xoneday用户拥有blog数据库的所有权限。

    >grant all privileges on blog.* to xoneday@localhost identified by '1234';

    //刷新系统权限表

    mysql>flush privileges;

    mysql>其它操作

    /*

    如果想指定部分权限给一用户,可以这样来写:

    mysql>grant select,update on blog.* to xoneday@localhost identified by '1234';

    //刷新系统权限表。

    mysql>flush privileges;

    */

3.删除用户。

    @>mysql -u root -p

    @>密码

    mysql>DELETE FROM user WHERE User=“xoneday” and Host="localhost";

    mysql>flush privileges;

    //删除用户的数据库

    mysql>drop database blog;

4.修改指定用户密码。

    @>mysql -u root -p

    @>密码

    mysql>update mysql.user set password=password('新密码') where User="xoneday" and Host="localhost";

    mysql>flush privileges;

查看mysql数据库表大小(存储空间):

假设我们要查询的表存储在:

    数据库名:zcdata 
    表名:zctable 

1: 先进入MySQL自带管理库:information_schema  
    mysql> use information_schema; 

2: 查询大小,显示数据字节数
    mysql> select data_length,index_length 
        from tables where 
        table_schema='zcdata' 
        and table_name = 'zctable'; 

3: 查询大小,已MB为单位显示
   mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB, 
        oncat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB 
        from tables where 
        table_schema='zcdata' 
        and table_name = 'zctable'; 

常见错误:

    mysqldump: Got error: 1045:

    解决(假设使用root用户):

        mysql -uroot -p
        mysql> use mysql;
        mysql> update user set password=password('new password') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0
        mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
        mysql> quit

    mysqldump: Got error: 1044:

    解决:

    加上-skip-lock-tables选项即可。即:

        mysqldump -u dbuser -ppass db --skip-lock-tables > db.sql

    使用mysqlworkbench客户端时,

        选择-高级-其他-取消-lock

时间: 2024-10-04 00:15:48

阿里云ubuntu 12.04 64位部署java及配置mysql教程的相关文章

阿里云ubuntu 12.04 64位系统java环境配置详解

系统版本:ubuntu 12.04 64位 ssh链接服务器(使用终端远程链接):     ssh -l username IP地址 如果出现类似如下错误:         @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ 表示host文件中记录的上次登陆信息和当前信息不匹配.在客户端执行:         mv ~/.ssh/known_hosts /tmp 再次登陆,提示是否继续链接时输入yes即可. 添加用户 1:使用a

Ubuntu 12.04 64位中的常用命令

以下命令在  Ubuntu 12.04 64位下测试通过. 在linux中一切都是文件,包括文件夹也是一种特殊的文件,甚至设备也是文件. 查看当前系统的版本 cat /proc/version #Linux version 3.2.0-29-generic (buildd@allspice) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 uname -

Ubuntu 12.04中NFS文件共享安装与配置步骤

又是碰到的问题,继续做记录备份. 涉及到服务器之间文件共享,需用到NFS共享设置,服务器为Ubuntu 12.04 64位. 准备环境 服务器两台: 服务端: 192.168.1.1 客户端: 192.168.1.2 服务端操作 1,首先安装nfs服务(以下操作自行切换root用户) apt-get install nfs-kernel-server 2,安装完成后,编辑设置文件: vi /etc/exports 新安装的是一个空文件,只有部分注释,在下方加入: /mydata  192.168

Ubuntu 16.04 64位中搭建Node.js开发环境教程_node.js

前言 首先说下本文的系统环境是:Ubuntu 16.04 64位,本文内容亲测可用, 大家可以请放心借鉴参考,下面来一起看看详细的步骤. 使用淘宝镜像 淘宝镜像官网是https://npm.taobao.org/ 使用淘宝镜像前请自行安装好 npm 和 node node 和 npm 的安装 node可以在这里下载 本文使用的是官方推荐v4.4.4长期支持版 下载并解压 node-v4.4.4-Linux-x64.tar.xz tar -xJf node-v4.4.4-linux-x64.tar

ubuntu 14.04 64位安装配置docker教程_docker

背景一年前就听说了Docker,想用它做虚拟机,今天终于有机会付诸实践了. 我这里使用的是64位 ubuntu 14.04.想虚拟出4台设备,分别安装软件,进行集群测试. 由于Linux容器的bug,docker在Linux的kernel3.8上运行最佳. 环境检查及安装 看下我们的Ubuntu版本命令: 复制代码 代码如下: cat /etc/issue   Ubuntu 14.04.5 LTS \n \l  再来看下内核,命令: uname -r  3.2.0-67-generic  由于内

破解WIFI:Ubuntu Kylin14.04(64位) 安装Minidwep-gtk(Aircrack-ng、Reaver)

1. 安装依赖    sudo apt-get install libssl0.9.8     sudo apt-get install build-essential libssl-dev iw     sudo apt-get install libpcap-dev sqlite3 libsqlite3-dev libpcap0.8-dev     sudo apt-get install aircrack-ng     sudo apt-get install gksu     sudo

win7 ubuntu 12.04 xp双盘3系统grub配置

盘1: ubuntu12.04 win7 盘2: xp sudo update-grub 的结果只有win7 和 ubuntu,点击win7进入系统,看到了win7和xp,win7可以启动,但是xp不能.于是在网上搜索找到了一个别人的xp和ubuntu共存的grub文件. 发现我的少了一句话,drivemap -s (hd0) ${root},于是加上就ok了. 即在/boot/grub/grub.cfg中添加如下内容即可 menuentry "Windows xp" --class

ubuntu-Ubuntu12.04 64位最小化变方框

问题描述 Ubuntu12.04 64位最小化变方框 Ubuntu 12.04 64位 LTS 插入安装盘后自动升级后一会中断了,之后就出现在登录界面输入用户名和密码登入时会闪下灰屏,在窗口最小化的时候变成了方框,不是谈入淡出效果,很可能是在自动升级系统的时候设置了哪个配置文件导致显卡失效才出现的,请大神看下是什么问题? 解决方案 安装盘上的显卡驱动是基本的,有条件的话,还是安装到本地,然后升级显卡驱动. 解决方案二: 你这个看看能不能进什么命令行模式,把这个东西重新安装一下 解决方案三: 重新

centos sshd-阿里云 centos 6.7 64位服务器,sshd 远程服务 貌似有个漏洞

问题描述 阿里云 centos 6.7 64位服务器,sshd 远程服务 貌似有个漏洞 本人在阿里云 搭建了一个服务器,里面开启sshd服务. 为了登录方便,为sshd开启了PubkeyAuthentication yes,其他password方式关闭. 那么问题来了: 正常情况下,我使用secureCRT,使用正确的KEY,一切没有问题,能马上登录不用密码.但是有一次,我在secureCRT中错误的使用了其他的publickey,居然也登录到了我的服务器. 而且我还发现,我使用小米路由器(已经