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 远程登录及常用命令

  • 相关阅读:
    Kinect 开发 —— 硬件设备解剖
    Kinect 开发 —— 引言
    (转)OpenCV 基本知识框架
    OpenCV —— 摄像机模型与标定
    OpenCV —— 跟踪与运动
    OpenCV —— 图像局部与分割(二)
    OpenCV —— 图像局部与部分分割(一)
    OpenCV —— 轮廓
    OpenCV —— 直方图与匹配
    OpenCV —— 图像变换
  • 原文地址:https://www.cnblogs.com/yinchen/p/6005363.html
Copyright © 2011-2022 走看看