1、下载MySQL的安装文件
安装MySQL需要下面两个文件:
MySQL-server-5.0.90-1.i386.rpm
MySQL-client-5.0.90-0.i386.rpm
下载地址为:http://mirrors.sohu.com/mysql/MySQL-5.0/。
网上文章提供的下载地址http://dev.mysql.com/downloads/mysql/5.0.html太慢了
2、安装MySQL
我的Linux版本是:Red Hat Enterprise Linux Server release 5.1 (Tikanga)
1)Linux自带MySQL卸载
由于我在安装Linux时安装了其自带的MySQL,需要将其卸载掉,具体方法:
[root@localhost ~]# rpm -qav|grep mysql
php-mysql-5.1.6-15.el5
mysql-5.0.22-2.1.0.1
执行rpm -e mysql-5.0.22-2.1.0.1
删不掉,采取的措施是
一、删除掉系统中所用mysql文件
二、重新启动系统,然后在执行rpm -e mysql-5.0.22-2.1.0.1
及php-mysql-5.1.6-15.el5就可以删除了。
2)安装服务器端
rpm 文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 –ivh ,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停止
在有两个rmp文件的目录下运行如下命令:
[root@localhost local]# rpm -ivh MySQL-server-5.0.90-1.i386.rpm
warning: MySQL-server-5.0.90-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing... ########################################### [100%]
1:MySQL-server ########################################### [100%]
101103 17:49:43 [Warning] Asked for 196608 thread stack, but got 126976
101103 17:49:44 [Warning] Asked for 196608 thread stack, but got 126976
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
Starting MySQL..[ OK ]
如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
查看是否启动
[root@localhost local]# netstat -ant|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
上面显示可以看出MySQL服务已经启动。
2)安装客户端
运行如下命令:
[root@localhost local]# rpm -ivh MySQL-client-5.0.90-1.i386.rpm
warning: MySQL-client-5.0.90-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing... ########################################### [100%]
1:MySQL-client ########################################### [100%]
显示安装完毕。
用下面的命令连接mysql,测试是否成功。
三、登录MySQL
登录MySQL的命令是mysql, mysql 的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。
[root@localhost local]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.90-community MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。
四、MySQL的几个重要目录
MySQL安装完成后不象SQLServer默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。
下面就介绍一下这几个目录。
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
五、修改登录密码
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@localhost local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
3、测试是否修改成功
1)不用密码登录
[root@localhost local]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@localhost local]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.0.90-community MySQL Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
成功!
六、启动与停止
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@localhost init.d]# /etc/init.d/mysql start
2、停止
/usr/bin/mysqladmin -u root -p shutdown
3、停止后启动可能出现的问题
在关闭mysql服务后重新启动时遇到这个错误
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
使用如下命令可以启动
[root@localhost local]# sudo /etc/init.d/mysql restart
MySQL manager or server PID file could not be found! [FAILED]
Starting MySQL. [ OK ]
4、自动启动
1)察看mysql是否在自动启动列表中
[root@localhost local]# chkconfig --list|grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost local]#
上述结果代表已经在启动服务组里增加了MySQL
2)把MySQL添加到你系统的启动服务组里面去
[root@localhost local]# /sbin/chkconfig – add mysql
3)把MySQL从启动服务组里面删除。
[root@localhost local]# /sbin/chkconfig – del mysql
七、更改MySQL目录
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/mysqldata下需要进行下面几步:
1、home目录下建立data目录
[root@localhost local]# cd /home
[root@localhost home]# mkdir mysqldata
[root@localhost home]#
2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/mysqldata
mv /var/lib/mysql /home/mysqldata/
这样就把MySQL的数据文件移动到了/home/mysqldata/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@localhost 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/mysqldata/mysql.sock 。操作如下:
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
[client]
#password = your_password
port = 3306
#socket = /var/lib/mysql/mysql.sock
socket =/home/mysqldata/mysql/mysql.sock
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket = /home/mysqldata/mysql/mysql.sock (加上此行)
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/mysqldata/mysql。
[root@localhost etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql (注释此行)
datadir=/home/mysqldata/mysql (加上此行)
同时也将/etc/init.d/mysql
中的datadir按照上述方法修改
7、重新启动MySQL服务
[root@localhost home]# /etc/rc.d/init.d/mysql start
Starting MySQL. [ OK ]
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。
八、MySQL的客户端语言修改
在linux下修改/etc/my.cnf文件
找到客户端配置[client] 在下面添加
default-character-set=gbk 默认字符集为gbk
在找到[mysqld] 添加
default-character-set=gbk 默认字符集为gbk
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用gbk编码,以让mysql数据库为gbk运行)
修改好后,重新启动mysql 即可,查询一下show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | gbk |
| character_set_system | gbk |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+