linux游戏服务器搭建(一)

服务器: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/datainnodb_data_file_path = ibdata1:10M:autoextendinnodb_log_group_home_dir = /usr/local/mysql/data

innodb_buffer_pool_size = 16Minnodb_additional_mem_pool_size = 2M

innodb_log_file_size = 5Minnodb_log_buffer_size = 8Minnodb_flush_log_at_trx_commit = 1innodb_lock_wait_timeout = 50

添加默认字符集:

[client]default-character-set = utf8    // 添加编码支持[mysqld]default-character-set = utf8   // 添加编码支持max_connections = 10000    //根据服务器性能调节basedir = /usr/local/mysql //设置安装目录,这样在系统启动时才能正确运行到/etc/rc.d/init.d/mysql start

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

# ln -s/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远程访问的方法。http://blog.csdn.net/sctq8888/article/details/7446906 这篇文章很详细。

其实我用的只有这两步 。http://blog.csdn.net/learnhard/article/details/5104330

1)下面给mysql新建一个账号:insert into mysql.user(host,user,password) value (‘%’,’name’,PASSWORD(‘password’));

2)更新密码mysql>update user set password=password(‘jason’) where user=’jason’

3)授予权限mysql>grant all on neuzjs.* tojason@’%’identified by ‘jason’;其中neuzjs为数据库名;

4)刷新权限mysql>flush previleges; 貌似不能用这个命令,大家查查别的,我直接工具刷新了。

例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";

这两个命令很好用,收藏下。今天就这样了,下班撤退了。

一个人去旅行,而且是去故乡的山水间徜徉。

linux游戏服务器搭建(一)

相关文章:

你感兴趣的文章:

标签云: