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

欢迎支持笔者的作品《深入理解Kafka: 核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客(ID: hiddenkafka)。
本文作者: 朱小厮

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×