1.1 检查数据库使用的字符集
检查数据库使用的字符集是否都是utf8,如不是,请修改字符集为utf8。
步骤 1 以root用户登录数据库服务器。
步骤 2 登录MySQL数据库。
mysql -uroot -p123456
步骤 3 输入命令查看字符集。
SHOW VARIABLES LIKE 'character_set_%';
l 如果显示如下则表示所使用的字符集都是utf8,不需要再修改。
l 如果显示如下则需要进行字符集的修改,请参见如下步骤。
- 如果字符集不是utf8,则需要修改my.cnf文件。先退出MySQL(使用命令:exit;)。
exit;
- 打开“/etc/my.cnf”文件。
vi /etc/my.cnf
- 按“i”键进入编辑状态。
- 设置客户端编码格式为“utf8”。
在如下所示的信息中,插入蓝色字体部分设置客户端的编码格式为utf8。
[client]
default-character-set=utf8
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
- 在[mysqld]后插入蓝色字体部分,实现用IP地址远程连接MySQL及配置数据表等功能。
# The MySQL server
[mysqld]
default-character-set=utf8
lower_case_table_names=1
max_connections=300
default-storage-engine=InnoDB
query_cache_size = 16M
skip-name-resolve
tmp_table_size=64M
max_heap_table_size=64M
配置参数说明如下:
l default-character-set:用来设置服务器的编码格式默认为utf8。
l lower_case_table_names:用来设置MySQL不区分大小写(0表示区分大小写,1表示不区分大小写)。
l max_connections:用来设置数据库的最大连接数。
l default-storage-engine:将数据库默认的引擎设置为InnoDB。
l query_cache_size:用来设置查询缓存的大小。
l skip-name-resolve:用来实现用IP地址远程连接MySQL的功能。
l tmp_table_size:用来设置临时HEAP数据表的最大长度,超过这个长度的临时数据表将被转换为MyISAM数据表并存入一个临时文件。
l max_heap_table_size:用来设置HEAP数据表的最大长度,超过这个长度的HEAP数据表将被存入一个临时文件而不是驻留在内存里。
- 注释或删除“log-bin=mysql-bin”信息。
#skip-networking
# Replication Master Server (default)
# binary logging is required for replication
# log-bin=mysql-bin
- 按“Esc”键后,输入“:wq!”保存并退出文件。
- 重新启动MySQL。
service mysql restart
- 登录MySQL数据库,再查看一下MySQL数据库字符集。
mysql -u root -p123456
show variables like 'character%';
此时字符集显示为utf8。
- 退出mysql。
exit;
----结束
1.2 安装MySQL数据库
注:请确认要使得linux系统的位数和数据库的位数相同(要么都是32位,要么都是64位的)
下载连接:http://dev.mysql.com/downloads/mysql/5.5.html#downloads
请确认服务器上是否已安装了MySQL5.1及其以上版本。如果已经安装了符合版本的MySQL数据库可以直接按照2.3 配置MySQL数据库进行相应的配置。
步骤 1 以root用户登录服务器。
步骤 2 检查服务器上是否已安装了MySQL。
rpm -qa|grep -i mysql
l 如果显示如下信息,则表示安装的MySQL数据库符合要求,无需卸载和重新安装,请直接跳过本节。
MySQL-client-community-5.1.XX-1.rhel5
MySQL-server-community-5.1.XX-1.rhel5
l 如果显示的版本不符合要求,则请先完全卸载后,再安装MySQL。
方案一:
卸载MySQL的方法为“rpm -e 查询到的MySQL安装包名称”:
rpm -e MySQL-devel-community-5.1.XX-0.rhel5
rpm -e MySQL-server-community-5.1.XX-0.rhel5
rpm -e MySQL-client-community-5.1.XX-0.rhel5
同时请删除其它目录下的配置和数据文件。
rm -f /etc/my.cnf
rm -rf /var/lib/mysql
方案二:
执行命令:rpm -qa|grep MySQL | xargs rpm -e --allmatches --nodeps
或rpm -qa|grep mysql | xargs rpm -e --allmatches --nodeps
l 如果没有任何版本信息,则需要安装MySQL数据库。
步骤 1 通过SSH或XFTP等工具将MySQL 5.1版本的软件包上传到“/tmp”目录下。
l MySQL-client-community-5.1.XX-0.rhel5.i386.rpm(必须的,如果不按照它,在linux中不能执行mysql或mysqladmin命令)
l MySQL-server-community-5.1.XX-0.rhel5.i386.rpm(必须的)
l MySQL-devel-community-5.1.XX-0.rhel5.i386.rpm
l MySQL-shared-community-5.1.XX-0.rhel5.i386.rpm
MySQL-devel主要为开发或编译MySQL程序提供所需的头文件和静态链接库。
MySQL-shared包含客户机程序的共享库。
以上两个组件如果没有使用到可以不安装,所以查询时,如果没有显示MySQL-devel和MySQL-shared也属于正常情况。
步骤 3 进入“tmp”目录。
cd /tmp/
步骤 4 安装MySQL服务端。
rpm -ivh MySQL-server-community-5.1.XX-0.rhel5.i386.rpm
步骤 5 安装MySQL客户端。
rpm -ivh MySQL-client-community-5.1.XX-0.rhel5.i386.rpm
步骤 6 (可选)安装devel。
MySQL-devel主要提供所需头文件和静态链接库,主要用作开发或编译MySQL程序,如不需要,可以不安装。
rpm -ivh MySQL-devel-community-5.1.XX-0.rhel5.i386.rpm
步骤 7 (可选)安装shared。
MySQL-shared包含客户机程序的共享库,如不需要,可以不安装。
rpm -ivh MySQL-shared-community-5.1.XX-0.rhel5.i386.rpm
----结束
注:mysql的默认用户是root,密码是空(即不用输入密码);访问mysql命令为mysql -uroot -p提示输入密码,直接按enter。
1.3 配置MySQL数据库
安装MySQL后,需配置完成才能使用正常使用,本节介绍MySQL的配置方法。
步骤 1 以root用户登录数据库服务器。
步骤 2 启动MySQL数据库。
service mysql start
系统显示如下信息,表示启动成功:
Starting MySQL [确定]
步骤 3 设置root用户的密码。
mysqladmin -u root password '123456'
如果已设置MySQL数据库的登录密码,系统会显示如下所示信息。
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
步骤 4 登录MySQL。
mysql -uroot -p123456
步骤 5 允许远程连接并刷新生效。
grant all on *.* to 'root'@'%' identified by '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
步骤 6 退出MySQL。
exit;
步骤 7 使用远程连接MySQL 5.1时候,需配置“/etc/my.cnf”文件。
复制“/usr/share/doc/MySQL-server-community-5.1.XX/my-huge.cnf”文件到“/etc”目录下,并重命名为“my.cnf”。
cp /usr/share/doc/MySQL-server-community-5.1.XX/my-huge.cnf /etc/my.cnf
步骤 8 重启MySQL使设置生效。
service mysql restart
----结束
注;当执行#mysql -u root -p报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 时,进行如下命令:
#ps -A|grep mysql
1876 ? 00:00:31 mysqld
1.4 检测MySQL数据库
步骤 1 以root用户登录数据库服务器。
步骤 2 检测MySQL是否随系统启动。
chkconfig --list mysql
若MySQL随机启动,则显示如下信息:
mysql 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
如果没有显示mysql项,则需输入命令加入到系统的启动服务组中:
chkconfig --add mysql
如果2~5中有“关闭”,需进行启动。例如,当2为“关闭”状态时,需将它切换到“启动”状态,请输入如下命令:
chkconfig --level 2 mysql on
----结束
1.5 导入数据库脚本
步骤 1 以root用户登录MySQL服务器。
步骤 1 通过SSH或XFTP等工具将数据库脚本文件上传到Linux服务器的“/tmp”目录下。
步骤 2 检测MySQL数据库是否启动。
service mysql status
如未启动请使用如下命令启动:
service mysql start
步骤 3 登录MySQL。
mysql -uroot -p123456
步骤 4 在mysql>提示符下输入如下命令,导入“init.sql”脚本初始化数据库。
source /tmp/init.sql
若所有的数据库脚本是上传至/tmp/目录下,需要在init.sql中的每行增加/tmp/,例如:source /tmp/ init.sql;如果上传至家目录,则不用作任何修改。
步骤 5 在mysql>提示符下输入如下命令,查看创建的数据库是否成功。
show databases;
系统显示如下信息中有数据库,说明创建数据库成功。
+--------------------+
| Database |
+--------------------+
| information_schema |
| ads |
| cpmdb |
| ispace |
| mydatabases |
| mysql |
| test |
+--------------------+
步骤 6 退出MySQL。
exit;
----结束