zoukankan      html  css  js  c++  java
  • centos中MySQL,VmTools安装,使用及异常

    Linux(CentOS)中常用软件安装,使用及异常——MySQL,VmTools

    本文主要是为了记录在工作中遇到的常用软件的安装过程,方便以后遇到相同情形时可以快速的查阅。主要讲述了MySQL, VMTools的安装。
    本文的操作系统采用的是CentOS,可以采用shell命令查阅:lsb_release -a.

    Mysql的安装

    mysql的下载地址:http://dev.mysql.com/downloads/mysql/#downloads,截止目前(2016-08-21)最新的版本是5.7, 本文介绍的mysql的版本是5.5。(mysql>select version();)
    1 首先在官网上下载mysql-5.5.51-linux2.6-x86_64.tar.gz包,然后拷贝至Linux下,解压:

    [root@hidden ~]# mkdir /usr/local/soft
    [root@hidden ~]# cp /mnt/hgfs/share/mysql-5.5.51-linux2.6-x86_64.tar.gz  /usr/local/soft
    [root@hidden ~]# cd /usr/local/soft
    [root@hidden soft]# tar -zxvf mysql-5.5.51-linux2.6-x86_64.tar.gz -C /usr/local
    [root@hidden soft]# cd ..
    [root@hidden local]# mv mysql-5.5.51-linux2.6-x86_64 mysql
    

    2 在mysql下创建data数据库文件目录
    1
    3 创建mysql用户组和用户,并对mysql目录设置用户组和用户

    [root@hidden local]# groupadd mysql
    [root@hidden local]# useradd mysql -g mysql
    [root@hidden local]# cd mysql
    [root@hidden mysql]#pwd
    /usr/local/mysql
    [root@hidden mysql]#chown -R mysql .
    [root@hidden mysql]#chgrp -R mysql .
    
    

    4 安装msyql

    [root@hidden mysql]# cd scripts
    [root@hidden scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    

    5 启动mysql服务

    [root@hidden scripts]# cd ../support-files
    [root@hidden support-files]# ./mysql.server start
    Starting MySQL...                                                [确定]
    

    或者在/mysql/bin下输入:mysqld_safe –skip-grant-tables
    但是这里有可能遇到这样的情况:

    [root@hidden  mysql]# support-files/mysql.server start
    Starting MySQL.. ERROR! The server quit without updating PID file (/var/lib/mysql/zhuzhonghua2-fqawb.sh.vclound.com.pid).
    

    这个一般是由于没有/etc/my.cnf文件或者内容不正确,这里可以索性将support-files/目录下的my-medium.cnf拷贝到/etc目录下再改名为my.cnf即可。
    下面是详细操作过程:

    [root@hidden  mysql]# cd support-files/
    [root@hidden  support-files]# ls
    binary-configure  config.medium.ini  magic        my-innodb-heavy-4G.cnf  my-medium.cnf  mysqld_multi.server  mysql.server
    config.huge.ini   config.small.ini   my-huge.cnf  my-large.cnf            my-small.cnf   mysql-log-rotate     ndb-config-2-node.ini
    [root@hidden  support-files]# cp my-medium.cnf /etc/my.cnf 
    cp: overwrite '/etc/my.cnf'? yes
    [root@hidden  support-files]# ./mysql.server start
    Starting MySQL.. SUCCESS! 
    

    6 登录mysql(初始登录不需要密码,至少我是这样的。。。)

    [root@hidden support-files]# cd ../bin
    [root@hidden bin]# mysql
    Welcome to the MySQL monitor.  Commands end with; or g.
    Your MySQL connection id is 3
    Server verison:5.5.51-log MySQL Community Server(GPL)
    Copyright(c) 2000,2016, Oracle and/or its affiliates. All rights reserverd.
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective 
    owners.
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement
    mysql>
    

    7 设定远程登录mysql. 在Linux下为了安全,默认是不允许mysql本机以外的机器访问mysql数据库服务,因此需要重新授权root,方便远程访问。

    mysql> use mysql
    Database changed
    mysql> select host,user from user;
    [此处省略]
    mysql> grant all privileges on *.* to 'root'@'%' identified by 'root';
    mysql> flush privileges;
    

    8 为了方便运行mysql命令,可以配置一下/etc/profile文件,在其文件末尾加入(vim /etc/profile):

    export PATH=$PATH:/usr/local/mysql/bin
    

    修改保存(Esc+:wq)之后生效下文件:

    source /etc/profile
    

    修改密码

    修改的用户都以root为例,修改密码为“1234”
    1 拥有mysql的原root密码,在mysql系统外,使用bin/mysqladmin

    mysqladmin -u root -p password "1234"
    Enter password:[输入原来的密码]
    

    2 拥有mysql的原root密码, 登录mysql系统

    #mysql -uroot -p
    Enter password: [old password]
    mysql> use mysql;
    mysql> update user set password=passwowd("1234") where user='root';
    mysql> flush privileges;
    mysql>exit;
    

    3 忘记原理的mysql的root密码
    首先,你必须要有操作系统的root权限。
    先在/mysql/bin/下输入

    [root@hidden bin]# mysqld_safe --skip-grant-tables &
    

    然后在/mysql/bin/下:

    [root@hidden bin]# mysql
    mysql>use mysql
    mysql>update user set password=password("1234") where user='root';
    mysql>flush privileges;
    mysql>exit;
    

    异常

    1 博主遇到这样的情况,在用JDBC(机器A)链接数据库(机器B)的时候发现连接不上,B ping A可以通,反过来不通,后来发现是防火墙的原因,输入

    chkconfig iptables off
    service iptables stop
    

    这两个命令即可。
    2 报错/tmp/mysql.sock的,类似:

    error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock'
    Check that mysqld is running and that the socket '/tmp/mysql.sock' exists!.
    

    先查看下有没有’/tmp/mysql.sock’这个文件,没有则添加,然后输入(确保mysql server已经开启):

    mysqladmin --socket=/tmp/mysql.sock version
    

    试试。

    其他安装方法

    也可以采用rpm或者yum的方式安装mysql。(RedHat Linux一般情况下没有yum安装功能,所以只能采用上面的方法或者先安装yum功能)
    yum的方式比较简单,首先查看系统是否有mysql:

    rpm -qa|grep mysql*
    

    或者

    yum list installed | grep mysql*
    

    如果有,就先卸载(yum -y remove **** 或者rpm -e –nodeps ****)
    然后安装mysql客户端:yum install mysql
    最后安装mysql服务端:yum install mysql-server以及 yum install mysql-devel
    启动mysql服务:service mysql start或者/etc/init.d/mysql start

    常用命令

    1 mysqld_safe –skip-grant-tables (你懂的)
    2 登录mysql:>mysql -u用户名 -p密码
    3 增加新用户
    格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码“
    如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数 据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:

    grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
    

    如果希望该用户能够在任何机器上登陆mysql,则将localhost改为”%”。
    如果你不想user1有密码,可以再打一个命令将密码去掉。

    grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
    

    4 操作数据库
    4-1 显示数据库列表: > show databases;
    缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。
    4-2 显示库中的数据表:>show tables;
    4-3 显示数据表的结构:>describe 表名;
    4-4 建库和删库:> create database 库名;drop database 库名;
    4-5 建表和删表:> create table 表名(字段列表);drop database 库名;
    4-6 情况表中记录:> delete from 表名;
    4-7 显示表中数据:>select * from 表名;
    4-8 到出数据 mysqldump –opt test>mysql.test
    即将数据库test数据库到处到mysql.test文件,后者是一个文本文件
    如: mysqldump -u root -proot –databases dbname>mysql.dbname
    就是把数据库dbname导出到文件mysql.dbname中。
    4-9 导入数据 mysqlimport -u root -p root < mysq.dbname
    4-10 显示创建表的信息:>show create table 表名
    4-11 create user ‘用户名’@’IP地址’ identified by ‘密码’
    4-12 drop user ‘用户名’@’IP地址’
    4-13 show grants for ‘用户名’@’IP地址’
    有关数据库的更多基本操作可以看下W3School的教程。

    VmTools的安装

    博主经常在虚拟机(VMware Workstation Pro)中安装一些操作系统方便编程、调试时使用,经常会遇到VmTools不能使用的情形,这里主要讲述在Linux(CentOS)系统中怎么安装VmTools.
    经常遇到这样的情形,需要将window中下载的bz2文件拷贝到Linux系统中,然后再进行一些操作,比如说安装,这个功能需要在虚拟机中设置“文件夹共享”:

    在VM Workstation中新建一个虚拟机,很多情况下是安装了VMware Tools的,也有些使用时没有安装,博主遇到这样的情况,需要在Linux中拷贝windows中E:share(如上图所示)下的文件,在输入:

    cp /mnt/hgfs/share/***  . 
    

    提示错误,发现在/mnt中没有hgfs这个文件夹,这时候很大一部分原因是VMware Tools没有安装。这里来安装一下。
    在root用户下进行如下操作(在/media目录下创建一个cdrom目录,然后挂载/dev/cdrom):

    [root@hidden ~]# mkdir /media/cdrom
    [root@hidden ~]# cat /media/cdrom
    cat: /media/cdrom:是一个目录
    [root@hidden ~]# mount /dev/cdrom /media/cdrom
    mount:block device /dev/sr0 is write-protected, mounting read-only
    

    这时候可以在/media/cdrom目录下就可以看到VMwareTools的工具了,博主这里是:WMwareTools-10.0.0-2977863.tar.gz,将这个文件拷贝(cp)到其它目录下,然后再解压,然后安装。
    解压:

    [root@hidden ~]# tar -zxvf WMwareTools-10.0.0-2977863.tar.gz
    
    

    解压完成后,进入解压文件夹,输入

    ./vmware-install.pl
    

    就可以了,然后它会提示你各种选择,这个不用管,默认的就行,你直接不断按回车键,等安装完毕后,重启,这里再进入/mnt目录后会出现一个hgfs,这个就是你的共享文件夹了(当然前提是虚拟机那已经设置好了。)
    最后做一下收尾,umount下和rm -rf /media/cdrom,可做可不做。

    参考资料

    虚拟机与CentOS6.5安装vmware tools及共享文件夹下/mnt/hgfs/下没有文件问题
    CentOS6.6下解压安装mysql-5.7.10-linux-glibc2.5-i686.tar.gz
    Linux下修改Mysql的用户(root)的密码
    Mysql 远程登录及常用命令

  • 相关阅读:
    DataGirdView 编辑项时的验证
    存储过程分面
    Android PopupWindow菜单
    Android ListView 中的checkbox
    Linq Group
    final关键字
    BroadcastReceiver
    Android Studio 快捷键
    Android Studio 基础知识
    黑客帝国代码雨实现
  • 原文地址:https://www.cnblogs.com/yinchen/p/6005363.html
Copyright © 2011-2022 走看看