服务器:CentOS6.3 x86-64
数据库:MySQL-server-5.5.25a-1.sles11.x86_64
cmake:cmake-2.8.4.tar ....CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)
一、安装cmake编辑器。
(1)解压cmake. #tar -zvxf cmake-2.8.4.tar.gz
(2)配置编译。
#cd cmake-2.8.4
#yum -y install gcc
#yum -y install gcc-c++
#yum -y install ncurses-devel
#./configure
#make
#make install
当我#make时候提示无效命令。yum install make,安装之后再 ./configure,然后是各种执行过程。执行完之后,再 make这次有反应了,继续等待执行。然后是 make install ,再次等待执行。这次估计都成功了。下面开始安装mysql.
二、安装Mysql。
千辛万苦再CSDN上面下载了两个rpm的安装文件,但是安装不成功,
aaa_base is needed by MySQL-server-5.5.25a-1.sles11.x86_64
pwdutils is needed by MySQL-server-5.5.25a-1.sles11.x86_64
/usr/bin/perl is needed by MySQL-server-5.5.25a-1.sles11.x86_64
(1)tar版的安装。摘抄的命令
#mkdir /usr/local/mysql
#mkdir /usr/local/mysql/data
#cd /usr/local/src/mysql-5.5.27
#cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DINSTALL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
#make
#make install
(2)设置目录权限。
# cd /usr/local/mysql
# chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql
# chown -R mysql:mysql data
(3)配置文件。
# cp support-files/my-medium.cnf /etc/my.cnf //这个配置仅适合小内存系统(32M - 64M)
打开如下注释:
innodb_data_home_dir = /usr/local/mysql/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50添加默认字符集:
[client]
default-character-set = utf8 // 添加编码支持
[mysqld]
default-character-set = utf8 // 添加编码支持
max_connections = 10000 //根据服务器性能调节
basedir = /usr/local/mysql 6)、创建系统数据库的表
# cd /usr/local/mysql
# scripts/mysql_install_db --user=mysql
7)、设置权限启动
设置环境变量:
# vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加参数为:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#source /root/.bash_profile
手动启动MySQL:
# cd /usr/local/mysql
# ./bin/mysqld_safe --user=mysql & //启动MySQL,但不能停止
启动日志写在此文件下:/usr/local/mysql/data/localhost.err
关闭MySQL服务
# mysqladmin -u root -p shutdown //这里MySQL的root用户还没有配置密码,所以为空值。
通过脚本启动MySQL:
# ln -s /usr/local/mysql/support-files/mysql.server /usr/local/mysql
//必须注意,是放在mysql目录下,不是bin目录下
# cp /usr/local/mysql/support-files/mysql.server /usr/local/mysql
# mysql.server start //启动mysql
# mysql.server stop //停止mysql在引导时启动MySQL
# ln -s /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
/usr/local/mysql/mysql.server /etc/rc.d/init.d/mysql
# cd /etc/rc.d/init.d
# chkconfig --add mysql //配置是否自动启动, chkconfig --del mysql 可删除
# chmod +x /etc/rc.d/init.d/mysql //添加如执行权限
三、给mysql配置权限。
测试时候直接用的root用户来连接的服务器,结果连接不上,解决之后才想到,为什么要让root用户连接服务器啊。悲催的再改回去,中间还有,貌似root用户不用输入密码就能访问。赶紧去掉root用户直接访问权限。
vi /etc/sysconfig/iptables,在系统配置里面去掉了下面这段,本来是我添加的。
-A RH-Firewall-1-INPUT -p tcp --dport 3306 -j ACCEPT
重启service iptables restart。 OK,root只能本地连接数据库了。
附上允许root远程访问的方法。 这篇文章很详细。
其实我用的只有这两步 。
1)下面给mysql新建一个账号:insert into mysql.user(host,user,password) value ('%','name',PASSWORD('password'));
2)更新密码
3)授予权限 mysql>grant all on neuzjs.* to jason@'%' identified by 'jason';其中neuzjs为数据库名;
4)刷新权限
例1、增加一个用户user001密码为123456,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on *.* to user001@"%" Identified by "123456";
例2、增加一个用户user002密码为123456,让此用户只可以在localhost上登录,也可以设置指定IP,并可以对数据库test进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机)
//这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作test库。
//首先用以root用户连入MySQL,然后键入以下命令:
mysql>grant select,insert,update,delete on test.* to user002@localhost identified by "123456";
这两个命令很好用,收藏下。
今天就这样了,下班撤退了。