首次安装Mysql,通过在线安装方便快捷。


    1,查看是否有安装过mysql:

    #rpm -qa | grep mysql


    如果无结果返回,说明没有安装Mysql,可以全新安装。


    2,查看在线服务器提供的Mysql相关的安装包有哪些:

    #yum list | grep mysql


    Linux centos 下在线安装mysql_第1张图片

    3,安装这几个就可以:

    #yum install mysql mysql-server mysql-devel


    或者如果不清楚安装哪些包,通过

    #yum install mysql*


    把列出所有的mysql相关的安装包全部安装。


Linux centos 下在线安装mysql_第2张图片

Linux centos 下在线安装mysql_第3张图片


    4,安装完成。

    提示安装完成,可以查到已经安装到的mysql包:

Linux centos 下在线安装mysql_第4张图片


    5,完成后,对Mysql进行初始化和配置。


    安装完成,会发现一个mysqld服务出现在/etc/init.d/目录下,就是我们刚刚安装的mysql服务。

    

    启动服务:

    #/etc/init.d/mysqld restart       //建议使用restart,不用start。

    或者

    #service mysqld restart


    首次安装Mysql,启动Mysqld服务,会进行初始化配置(类似于下面这种情况):

Linux centos 下在线安装mysql_第5张图片


    进行上面的初始化完成之后 ,再次重启mysql,就不会有这样的提示了(只在第一次启动时初始化)。

    wKiom1b807-yLePVAAB0vozMgWs197.jpg


    我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以通过  

    #chkconfig --list | grep mysqld 

    命令来查看mysql服务是不是开机自动启动。通过

    #chkconfig mysqld on

    命令来使mysqld服务开机自启动。

wKioL1b85R3CJ7IhAACD-gfoctw774.jpg

    (如果没配置chkconfig mysqld on 命令,则上图2,3,4,5全部为off,即开机不会自启动。)

    

    6,对Mysql进行配置。

    mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,在第一次启动mysql服务时,会进行数据库的一些初始化工作,在输出的一大串信息中,我们看到有这样一行信息 :

    /usr/bin/mysqladmin -u root password 'new-password'  // 为root账号设置密码

    所以我们可以通过 该命令来给我们的root账号设置密码(注意:这个root账号是mysql的root账号,非Linux的root账号)

    # mysqladmin -u root password 'root'  // 通过该命令给root账号设置密码为 root

 

    此时我们就可以通过 

    #mysql -u root -p 

    命令来登录我们的mysql数据库了:

Linux centos 下在线安装mysql_第6张图片



    7,至此,mysql的安装和基本配置就算完成了,可以直接使用Mysql了。



    mysql数据库的主要配置文件:

    1,/etc/my.cnf 这是mysql的主配置文件


    2,/var/lib/mysql   mysql数据库的数据库文件存放位置


    3,/var/log mysql数据库的日志输出存放位置


    4,mysql数据库使用tcp/ip协议 ,如果通过网络访问,其开放的端口是3306。可以通过

        #netstat -nap | grep 3306 

        来查看是否开启了mysql端口。


    修改数据文件存储的目录:

    MYSQL默认的数据文件存储目录为/var/lib/mysql

    假如要把目录移到/home/data下需要进行下面几步:

    

    1、home目录下建立data目录


    #cd /home

    #mkdir data


    2、把MySQL服务进程停掉: 


    #mysqladmin -u root -p shutdown


    3、把/var/lib/mysql整个目录移到/home/data


    #mv /var/lib/mysql /home/data/


    这样就把MySQL的数据文件移动到了/home/data/mysql下


    4、找到my.cnf配置文件,所在路径/etc/my.cnf


    ** 如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:


    # cp /usr/share/mysql/my-medium.cnf /etc/my.cnf


    5、编辑MySQL的配置文件/etc/my.cnf


    为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置:

    修改socket=/var/lib/mysql/mysql.sock一行中等号右边的路径为:/home/mysql/mysql.sock :


    #vi  my.cnf

    #socket  = /var/lib/mysql/mysql.sock   //为了更稳妥将原内容用“#”注释掉

    socket  = /home/data/mysql/mysql.sock //加上此行


    6、修改MySQL启动脚本/etc/init.d/mysql


    #vi /etc/init.d/mysql


    把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。

    #datadir=/var/lib/mysql    //为了更稳妥将原内容用“#”注释掉

    datadir=/home/data/mysql   //加上此行


    如果是CentOS还要改 /usr/bin/mysqld_safe 相关文件位置;


    最后 做一个mysql.sock 链接:


    #ln -s /home/data/mysql/mysql.sock /var/lib/mysql/mysql.sock


    7、重新启动MySQL服务

    #/etc/init.d/mysqld restart    //在启动服务时,尽量使用restart ,而不用start,防止出现一些可能的异常情况


    或用reboot命令重启Linux。如果工作正常移动就成功了,否则对照前面的7步再检查一下。

**********************************

    另外,还要注意目录的属主和权限:

    # chown -R mysql:mysql /home/data/mysql/  ← 改变数据库的归属为mysql


    # chmod 700 /home/data/mysql/test/  ← 改变数据库目录属性为700


    # chmod 660 /home/data/mysql/test/*  ← 改变数据库中数据的属性为660



    错误解决方案:


    1.在CentOS上,如果mysql是通过yum安装的,那么可能使用上面的方法不能完全凑效。


    原因:mysql的配置文件有多处,除了更改/etc/my.cnf文件之外,还需要更改/usr/lib64/mysql/mysql_config


    这个文件里面有一行“ldata='/var/lib/mysql'”和"socket=/var/lib/mysql/mysql.sock",这里也需要改掉。


    2.另外,还有权限问题,查看/var/log/mysqld.log,发现Can't create test file /xxx/mysql/centos5.lower-test


    这里是因为没有权限创建或读取文件。


    解决办法就是使用setenforce 0 这个命令,让系统关闭权限校验,然后再运行命令 service mysqld start 发现OK了。


    另外一个办法是restorecon -FRv /home/data/mysql,或者chcon -R -t mysqld_db_t /home/data/mysql

**********************************

修改数据存储目录参考出处:

http://www.centoscn.com/p_w_picpath-text/config/2014/0125/2403.html