mysql in linux
最近有个项目要部署到linux上,在网上查了些资料,记下点遇到的问题,以便将来再用。
一:jdk安装
1.通过chmod a+x jdk-1_5_x-rc-linux-i586-rpm.bin命令使其获得可执行权限
2.通过 rpm –ivh jdk-1_5_x-rc-linux-i586-rpm.bin来进行安装
3.安装完毕,JDK安装在/usr/java/目录下
4.设置环境变量(写入vi/etc/profile中)
用i进入插入模式
export JAVA_HOME = /usr/java/jdk1.5
export PATH = $JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:/usr/java/jdk1.5/lib:/usr/java/jdk1.5/jre/lib:$CLASSPATH
esc退出,按下大写ZZ 保存退出!
java -version 发现没有成功,于是加入下面的步骤:
5.要使JDK在所有的用户中使用,可以这样:
vi /etc/profile.d/java.sh
在新的java.sh中输入以下内容:
JAVA_HOME=/usr/java/jdk1.5.0
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
JAVA_OPTS="-server -Xmx768m -XX:MaxNewSize=512m -XX:MaxPermSize=700m"
CATALINA_OPTS="-server -Xmx768m -XX:MaxNewSize=512m -XX:MaxPermSize=700m"
export JAVA_HOME CLASSPATH PATH JAVA_OPTS CATALINA_OPTS
保存退出,然后给java.sh分配权限:chmod 755 /etc/profile.d/java.sh
6.这一步很关键,困扰了我一天,AS4默认的是jdk1.4.2 ,当我们安装上jdk1.5.0的时候如果不做新的链接jdk的使用是会出问题的,具体做法如下:
进入 /usr/bin/目录
cd /usr/bin
ln -s -f /usr/java/jdk1.5/jre/bin/java
ln -s -f /usr/java/jdk1.5/bin/javac
reboot重起linux机器。
二:tomcat安装
1. #tar -zxvf apache_tomcat_5.523.tar.gz
#mv apache_tomcat_5.52.3 tomcat
OK 进入TOMCAT 目录 然后进入 BIN 目录
运行 ./startup.sh
2. 然后简单配置一下TOMCAT 的用户和角色
进入 当前的目录 下的CONF
vi tomcat-users.xml
在<tomcat-users>
加入
<user name="admin" password="admin" roles="admin" />
3.配置sever.xml
<Context path="" reloadable="true" docBase="D:\web\test"></Context>
4.开机自启动
# vi /etc/rc.d/rc.local 添加:
export JAVA_HOME=/usr/java/jdk1.5
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar
/usr/apache_tomcat_5.52.3/bin/startup.sh
三:mysql安装
1.安装
# rpm -ivh MySQL-server-5.1.11-0.i386.rpm
# rpm -ivh MySQL-client-5.1.11-0.i386.rpm
# rm -f MySQL-server-5.1.11-0.i386.rpm
# rm -f MySQL-client-5.1.11-0.i386.rpm
2.修改口令
# mysqladmin -u root passord newpassword
3.启动与关闭
启动 # /etc/init.d/mysql start(service mysqld restart)
关闭 # /etc/init.d/mysql stop
4.开机自启动
查看启动列表 # /sbin/chkconfig --list
添加启动项 # /sbin/chkconfig --add mysql
删除启动项 # /sbin/chkconfig --del mysql
5.中文问题
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
[client]下添加:
default-character-set=gbk
[mysqld]下添加:
default-character-set=gbk
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
问题:安装启动不了
1.这是没启动mysql的守护进程,执行service mysql start就行了(不成功)
出现Starting MySQL.Manager of pid-file quit without updating fi[FAILED]的报错
打开/etc/selinux/config把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器后问题就得以解决。(我解决问题)
2.mysql5.1.30 初次启动会出现Starting MySQL.Manager of pid-file quit without updating fi[FAILED]的报错,需要注释/etc/my.cnf里的skip-federated注释掉即#skip-federated就OK了!
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd /home
mkdir data
2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/data/mysql/mysql.sock (加上此行)
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/data/mysql (加上此行)
grant select,insert,update,delete,create,drop,alter on *.* to test@"%" Identified by "123";
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
卸载mysql
rpm -qa|grep -i mysql
rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0
卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
rm -f /etc/my.cnf
rm -rf /var/lib/mysql
如将日志文件写在/var/log目录中,可以在my.cnf文件中加入下面两行:
[mysqld_safe]
err-log = /var/log/mysqld.log
备份与恢复
1、备份
例如:将上例创建的aaa库备份到文件back_aaa中
[root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql
[root@test1 mysql]# mysqldump -u root -p --opt a > back_a
2、恢复
[root@test mysql]# mysql -u root -p c < back_a
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/java/javajs/20090405/164222.html