阿里云Ubuntu部署java web(3) - 配置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/ |
+--------------------------+----------------------------+

修改成功。

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

更改数据库位置:

数据库文件默认存储位置在/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,执行如下命令:
        格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";? 例如:
                   grant select,update,insert,delete on *.* to [email protected] identified by "passwd";

如果登录主机(host字段)的值为%就表示可以在任何客户端机器上能以root用户登录到mysql服务器。可用如下命令修改:
                        update user set host = ’%’ where user = ’root’;
                    授权权限改为ALL PRIVILEGES表示对所有操作授权,也可在授权时使用如下命令:
                        grant all privileges  on *.* to [email protected]‘%‘ 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> source name.sql(路径);

导出mysql:

使用mysqlworkbench客户端-》data export。

用户管理

假设用户名: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 [email protected] identified by ‘1234‘;

//刷新系统权限表

mysql>flush privileges;

mysql>其它操作

/*

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

mysql>grant select,update on blog.* to [email protected] 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;

常见错误:

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-11-06 17:53:35

阿里云Ubuntu部署java web(3) - 配置mysql的相关文章

阿里云Ubuntu部署java web(2) - 配置tomcat

系统版本:Ubuntu12.04 64位 安装: 首先要安装java(测试时使用的版本是6b27-1.12.6-1ubuntu0.12.04.2),版本可自行选择,但不同版本配置方法可能不同. apt-get install openjdk-6-jre-headless 推荐两种安装tomcat(测试使用的是tomcat7)的方法,建议apt-get,方便快捷,配置简单. 1:从tomcat的官方下载Binary->Core分类中的zip或者tar.gz包后,本地解压缩. 2:apt-get i

阿里云Ubuntu部署java web - 文件夹

文件夹(点击章节标题阅读): 阿里云Ubuntu部署java web(1) - 系统配置 ssh链接server(使用终端远程链接)        加入用户        给用户赋予运行sudo权限        软件安装        链接到serverftp        分区和格式化        java和mysql环境安装 阿里云Ubuntu部署java web(2) - 配置tomcat 安装        更改端口        更改站点默认文件夹.以及加入多个站点 阿里云Ubun

阿里云Ubuntu部署java web - 目录

目录(点击章节标题阅读): 阿里云Ubuntu部署java web(1) - 系统配置 ssh链接服务器(使用终端远程链接)        添加用户        给用户赋予执行sudo权限        软件安装        链接到服务器ftp        分区和格式化        java和mysql环境安装 阿里云Ubuntu部署java web(2) - 配置tomcat 安装        更改端口        更改网站默认目录,以及添加多个站点 阿里云Ubuntu部署java

阿里云Ubuntu部署java web(1) - 系统配置

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

阿里云服务器部署Java Web项目全过程

最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功,写下一篇文章记录以便日后回顾. 购买服务器 第一步当然是需要购买一台服务器了,我选择的是阿里云的ECS,对于新用户有一定的优惠活动.服务器徐购好后可以在管理控制台下看到自己服务器的配置情况.我买的是centos7 1核2G的,详情如下: 本地主机连接服务器 购买了服务器之后,下一步当时是要远程操作服务器,所以需要和远程服务器建立连接.这里有两种方式:一种是使用

ubuntu 部署java web项目

(1)安装vim 命令: apt-get install vim (2)安装 lrzsz (lrzsz是一款在linux里可代替ftp上传和下载的程序) 命令: rz -be **选择某个文件 (3)上传jdk或者 直接通过命令: wget ** 官网 下载(你可以在某个文件夹下,例如:usr目录下新建 java/mysql一些文件) (4)tar zxvf 解压一个文件 (5)拷贝  cp ** 到 **文件夹下 例如:  cp /usr/java/a  /home/java 拷贝 usr文件

阿里云服务器cent0S安装web环境PHP+MySql+Nginx,给nginx添加网站

下载一键安装包: http://market.aliyun.com/product/12-121590002-cmgj000262.html?spm=5176.7150518.1996836753.5.ZoE32o 在服务器安装rz命令 yum install lrzsz rz    选择要上传文件sh.zip 安装解压命令: yum install unzip    #本机已经安装了.所以这里不安装 解压 unzip -x sh.zip    #解压后脚本的权限不够 chmod -R 755

在阿里云的CentOS环境中安装配置MySQL

Welcome to Alibaba Cloud Elastic Compute Service ! [[email protected] ~]# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm Retrieving http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm Preparing... ###########

阿里云部署Java web项目初体验

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 本文实例访问:http://120.24.19.24:8080/JavaHelloWorld-0.0.1-SNAPSHOT/ (到2016.3.9就不能访问了) 本文实例下载: 一.准备工作 1.注册账号 下载完成后.可到这里https://free.aliyun