Linux(CentOS)中常用软件安装,使用及异常——MySQL, VmTools-阿里云开发者社区

开发者社区> 朱小厮> 正文

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

简介: 本文主要是为了记录在工作中遇到的常用软件的安装过程,方便以后遇到相同情形时可以快速的查阅。主要讲述了MySQL, VMTools的安装。 本文的操作系统采用的是CentOS,可以采用shell命令查阅:lsb_release -a. Mysql的安装 Mysql的安装 mysql的下载地址:http://dev.mysql.com/downloads/mysql/#downloads,截止目前(2016-08-21)最新的版本是5.7, 本文介绍的mysql的版本是5.5。
+关注继续查看

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


Mysql的安装

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数据库文件目录

[root@hidden local]# mkdir mysql/data

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,可做可不做。


参考资料

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
du 使用详解 linux查看目录大小 linux统计目录大小并排序 查看目录下所有一级子目录文件夹大小 du -h --max-depth=1 |grep [
常用命令 du -h --max-depth=1 |grep [TG] |sort   #查找上G和T的目录并排序 du -sh    #统计当前目录的大小,以直观方式展现   du -h --max-depth=1 |grep 'G' |sort   #查看上G目录并排序 du -sh ...
2848 0
PLSQL Developer软件使用大全
PLSQL Developer软件使用大全   第一章 PLSQL Developer特性 PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。
1588 0
CentOS 软件安装之Nginx源码安装
step1.首先wget下载源码包 鼠标右击复制链接地址 Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版 Stable version:最新稳定版,生产环境上建议使用的版本 Legacy versions:遗留的老版本的稳定版 # wget http://nginx.
850 0
Mysql异常'SET OPTION SQL_SELECT_LIMIT=DEFAULT'
在用hive时遇到这样的一个异常,因为hive的元数据是存储在mysql数据库中,所以对于hive表的操作相应的会操作数据库中表的数据,该问题发生于删除表的时候,创建的时候并未产生该异常。经过查阅资料了解到mysql通过jdbc链接的时候会进行测试'SET OPTION SQL_SELECT_LIMIT=DEFAULT',但是5.6以后的版本弃用了set的方式。
3115 0
+关注
朱小厮
主要从事消息中间件的相关研发工作,著有《RabbitMQ实战指南》。
210
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载