1.准备工作
-rw-r--r--. 1 root root 17721169 10月 18 10:58 MySQL-client-5.5.33-1.linux2.6.x86_64.rpm
-rw-r--r--. 1 root root 53394504 9月 10 14:37 MySQL-server-5.5.33-1.linux2.6.x86_64.rpm
下载安装包并上传
2.检测系统是否安装MySQL
如:检测是否安装Mysql输入
#rpm -qa | grep -i mysql
若已安装过,会出现以下:
MySQL-client-5.5.33-1.linux2.6.x86_64
MySQL-server-5.5.33-1.linux2.6.x86_64
那么输入以下命令删除它:
#rpm -ev MySQL-client-5.5.33-1.linux2.6.x86_64
#rpm -ev MySQL-server-5.5.33-1.linux2.6.x86_64
注意:若删除的时候,出现删除不成功,出现依赖的包,前提必须删除依赖项。rpm -ev dovecot-1.0.7-7.el5.x86_64
删除安装文件夹:
在跟目录使用命令 #whereis mysql:
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
使用#rm -rf 逐一删除之。
3.安装MySQL
[root@centos-50 servers]# rpm -ivh MySQL-server-5.5.33-1.linux2.6.x86_64.rpm
Preparing... ########################################### [100%]
file /usr/share/mysql/charsets/README from install of MySQL-server-5.5.33-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.52-1.el6_0.1.x86_64
file /usr/share/mysql/charsets/Index.xml from install of MySQL-server-5.5.33-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.52-1.el6_0.1.x86_64
file /usr/share/mysql/charsets/armscii8.xml from install of MySQL-server-5.5.33-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.52-1.el6_0.1.x86_64
file /usr/share/mysql/charsets/ascii.xml from install of MySQL-server-5.5.33-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.52-1.el6_0.1.x86_64
file /usr/share/mysql/charsets/cp1250.xml from install of MySQL-server-5.5.33-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.52-1.el6_0.1.x86_64
file /usr/share/mysql/charsets/cp1251.xml from install of MySQL-server-5.5.33-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.52-1.el6_0.1.x86_64
file /usr/share/mysql/charsets/cp1256.xml from install of MySQL-server-5.5.33-1.linux2.6.x86_64 conflicts with file from package mysql-libs-5.1.52-1.el6_0.1.x86_64
解决办法:
卸载mysql:rpm -e --nodeps mysql-libs-5.1.*
安装客户端:rpm -vih MySQL-client-5.5.33-1.linux2.6.x86_64.rpm
4.配置MySQL
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于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的目录)
如:/etc/rc.d/init.d/mysql start/restart/stop/status
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
启动:cd /etc/rc.d/init.d; myql start
停止:1.mysql stop 或者 2./usr/bin/mysqladmin -u root -p shutdown
Mysql默认的端口是3306。
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
上面显示可以看出MySQL服务已经启动。
登录MySQL的命令是mysql, mysql 的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
注意:这个mysql文件在/usr/bin目录下,与启动文件/etc/init.d/mysql不是一个文件。
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
测试是否修改成功
1)不用密码登录[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。 自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]# /sbin/chkconfig –list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]# /sbin/chkconfig – add mysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]# /sbin/chkconfig – del mysql 更改MySQL目录
由于MySQL数据库目录占用磁盘比较大,所以我在/export/data目录下建了个目录mysqldata。然后把数据库移动到data目录中去。输入以下命令:
# mv /var/lib/mysql /export/data/mysqldata
拷贝完后还需修改/etc/rc.d/init.d/mysql的datadir目录值,修改结果如:
basedir=
datadir= /export/data/mysqldata/mysql
拷贝配置文件到/etc目录下,并命名为my.cnf(必须名为my.cnf)
#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
这儿要注意:/usr/share/mysql/下有好几个结尾为cnf的文件,它们的作用分别是:
1.my-small.cnf是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
2.·my-medium.cnf是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
3·my-large.cnf是为专用于一个SQL数据库的计算机而设计的。由于它可以为该数据库使用多达512MB的内存,所以在这种类型的系统上将需要至少1GB的RAM,以便它能够同时处理操作系统与数据库应用程序。
4·my-huge.cnf是为企业中的数据库而设计的。这样的数据库要求专用服务器和1GB或1GB以上的RAM。
这些选择高度依赖于内存的数量、计算机的运算速度、数据库的细节大小、访问数据库的用户数量以及在数据库中装入并访问数据的用户数量。随着数据库和用户的不断增加,数据库的性能可能会发生变化。
最后配置/etc/my.cnf文件的datadir,和mysql.sock路径以及默认编码utf-8,红色字体标示为修改后的。
[client]
#password = 123456
port = 3306
socket =/export/data/mysqldata/mysql/mysql.sock
default-character-set=utf8
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /export/data/mysqldata/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
character_set_server=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
character_set_client=utf8
(注意linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;lower_case_table_names = 0 0:区分大小写,1:不区分大小写)
max_connections=1000(设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384; )
[mysql]
default-character-set = utf8
no-auto-rehash
配置完成,/etc/rc.d/init.d/mysql restart重启即可