(五)Linux环境部署(Centos+Nginx+Tomcat+Mysql)-Mysql安装


 

以下为本人本地测试实践中,完整的搭建一个基于Linux系统上Centos+Nginx+Tomcat+Mysql的操作文档,梳理记录如下,希望对于那些想要系统地完整搭建Linux环境的程序员们一个系统性的参考。但因大部分都是边搭建边记录下的操作,有所疏漏在所难免,还望见谅;如有问题和意见请帮忙在后面的评论中指出,万分感谢!另整个搭建的过程中参考了网上许多优秀博主的优秀实践,在文中末尾或者其他适当的地方都有所标注,如有必要,你可以按参考的链接阅读参考的原文章。本文档一共分为6部分,6篇文章,分别是:

1、(一)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - FTP安装

2、(二)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 防火墙配置

3、(三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建

4、(四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合

5、(五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Mysql 安装

6、(六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 一些常用命令总结

(五) Mysql安装

 

1、安装查看有没有安装过:

yumlist installed mysql*

rpm -qa | grep mysql*

查看有没有安装包:

yum list mysql*

安装mysql客户端:

yum install mysql

安装mysql服务器端:

yum install mysql-server yum

install mysql-devel

2、启动&&停止数据库字符集设置

mysql配置文件/etc/my.cnf中加入default-character-set=utf8

启动mysql服务: servicemysqld start或者/etc/init.d/mysqld start

开机启动:

添加开机启动:chkconfig--add mysqld;

开机启动:chkconfig mysqld on;

查看开机启动设置是否成功chkconfig--list | grep mysql* mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭停止:

service mysqld stop

3、登录 创建root管理员:

mysqladmin-u root password 123456

登录: mysql -u root-p输入密码即可。忘记密码: service mysqld stop mysqld_safe--user=root --skip-grant-tables mysql -u root use mysql update user setpassword=password("new_pass") where user="root"; flushprivileges;

4、远程访问 开放防火墙的端口号mysql

增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”。

5、Linux MySQL的几个重要目录

数据库目录/var/lib/mysql/

配置文件 /usr/share /mysql(mysql.server命令及配置文件)

相关命令 /usr/bin(mysqladminmysqldump等命令)

启动脚本 /etc/rc.d/init.d/(启动脚本文件mysql的目录)

 

6、删除 mysql数据库

如果使用的是 yum安装的 mysql,需要删除的话,就使用如下命令:

yum -y remove mysql*

然后将 /var/lib/mysql文件夹下的所有文件都删除干净

最后再重新执行上面的安装步骤。

 

7.授权用户从远程登录

1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql"数据库里的 "user"表里的"host"项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>usemysql;mysql>update user set host = '%' where user = 'root';mysql>selecthost, user from user;

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

 

修改Mysql默认数据库数据默认存放位置

参考:http://www.jb51.net/article/33578.htm

 

由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录。 我这里在/data, 把外部数据盘挂载在/data下。

下面我整理一下把MySQL从/var/lib/mysql目录下面转移到/data/mysql目录的具体操作:

 

在数据库里看一下数据库里当前数据文件的存放路径:

mysql> show variables like '%dir%';



1、首先我们需要关闭MySQL,命令如下
service mysqld stop
2、然后是转移数据,为了安全期间,我们采用复制命令cp,先找到mysql的原目录
cd /var/lib
ls
运行这个命令之后就会看到mysql的目录了,然后执行cp命令
cp -a mysql /data/ #这样就把数据库复制到/dat下面去了

注意:(-a这个参数一定要带着,否则复制过去的权限就不对了。)

如果数据库比较大的话,时间会比较长,可能会超时,具体怎么设置ssh不超时的办法,请大家自己找相关资料。
3、然后我们修改配置文件,一共有三个,下面我一一说明
修改第一个文件:修改之前先备份cp /etc/my.cnf /etc/my.cnfbak
vi /etc/my.cnf
打开之后修改datadir的目录为/data/mysql
把socket改成/data/mysql/mysql.sock #为了安全起见,你可以把原来的注释掉,然后重新加入一行,改成现在的目录。
修改第二个文件:修改之前先备份 cp /etc/init.d/mysqld /etc/init.d/mysqldbak
vi /etc/init.d/mysqld
注意:准确的位置是/etc/rc.d/init.d/mysqld,由于这里这里有一个/etc/init.d到/etc/rc.d/init.d的映射,
所以用上面的命令即可,也简单。
把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:/data/mysql
修改第三个文件:修改之前先备份 cp /usr/bin/mysqld_safe/usr/bin/mysqld_safebak
vi /usr/bin/mysqld_safe
这里也是修改datadir的目录为/data/mysql
4、下面需要建立一个mysql.sock的链接
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock

至此所有的修改都完成了,下面启动mysql
service mysqld start
或者重启linux
reboot
如果能正常启动,说明修改成功。

 

相关内容