Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240354
  • 博文数量: 95
  • 博客积分: 400
  • 博客等级: 一等列兵
  • 技术积分: 906
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-04 16:04
个人简介

人生意义在于积累,而不是日复一日的重复

文章分类

全部博文(95)

文章存档

2016年(2)

2015年(44)

2014年(35)

2011年(5)

2010年(9)

我的朋友

分类: Mysql/postgreSQL

2014-10-27 12:15:42

mysql的默认安装目录一般设定在/var/lib/mysql中,会占用较大的根目录磁盘空间,为了更好的保存数据,一般会将mysql磁盘放在其他目录中,安装过程不再赘述,下面讲解如何修改mysql的文件目录。

1. 修改/etc/my.cnf
    datadir:mysql数据文件存放目录,根据需求将其修改到其他目录;
    例:
        datadir=/data/mysql

    socket:指明mysql.sock文件的产生位置,若不修改则会使用原来的位置,一般与数据文件存放上当放在一起
    例:
        socket=/data/mysql/mysql.sock

2. 修改/etc/init.d/mysqld
    若没有修改socket,则无需修改本文件。
    找到datadir,将其设置保持与my.cnf中一致。

3. 重启mysql
    service mysqld start
    或
    /etc/init.d/mysqld start

4. mysql登录失败
    刚装完的mysql登录会失败,出现如下:
        ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/myslq/mysql.sock' (2)

    问题:没有修改mysql客户连接的socket
    解决方法:打开/etc/my.cnf,添加如下:
            [client]  
            socket=/data/mysql/mysql.sock
    
5. 登录并修改密码
    5.1    登录
        输入:mysql
        默认以root登录,并且没有密码
    5.2    修改root密码
        a) 在登录mysql之前修改
            mysqladmin -u root -p password "root"
            之后会让输入密码,由于目前root没有密码,直接回车就可以了
            再次登录则需要:
            mysql -uroot -proot
        b) 登录mysql之后修改
            mysql>> use mysql;
            mysql>> update user set password=PASSWORD("root") where user='root';
            mysql>> flush privileges;
        c) 忘记root密码
            1)获取linux系统root权限
            2)停止mysqld服务
            3)安全模式下启动mysql
                mysqld_safe --skip-grant-tables
            4)登录mysql
                mysql>> use mysql;
                mysql>> update user set password=PASSWORD("root") where user='root';
                mysql>> flush privileges;

6. 添加用户及权限
    6.1    默认root是使用root@localhost登录的
    6.2    添加新用户
        6.2.1    使用GRANT语句:最好的方法是使用GRANT语句,因为这样更精确,错误少
        a)    以MySQL root用户连接MySQL服务器,并且root账户必须有mysql数据库的INSERT权限和RELOAD管理权限。
        b)    添加用户及密码:
            1)  用于从本机连接数据库:'test'@'localhost'
                mysql>> GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY 'test' WITH GRANT OPTION;
            2)从其它主机连接:'test'@'%'
                mysql>> GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'test' WITH GRANT OPTION;
        注:两个账户均为超级用户账户,具有完全的权限可以做任何事情

        6.2.2    直接操作MySQL授权表
        不建议使用,后续补上。

注:将mysql服务加入到重启自动启动任务中。

阅读(785) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~