ECM
ECM
总版主
总版主
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:371回复:0

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

楼主#
更多 发布于:2016-05-10 23:26
以下为本人本地测试实践中,完整的搭建一个基于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
如果能正常启动,说明修改成功。

 

 

 

 

 

 

 

异常中心网是一家专门收集整理程序员编程过程中遇到的常见异常(exception)以及各种异常问答中心的网站。异常中心网旨在,减少程序员在编码遇到异常,处理各种异常时间和痛苦,让程序员能更愉快的、快速的定位异常并查找对应的异常解决方案。异常中心网诚心打造最完美的编程社区为程序员用户服务,努力成为最好的程序员乐园程序员社区程序异常中心程序bug中心异常问答中心

 

喜欢0 评分0
游客

返回顶部