Normal
0
false
false
false
EN-US
ZH-CN
X-NONELinux下Mysql安装和日常维护(1)
安装和卸载Mysql
一.安装和配置
1. 下载安装包
可以到http://www.mysql.com/downloads/下载最新的安装包,我这里下载后的文件名为MySQL-5.5.23-1.rhel5.x86_64.tar
2. 解压缩安装包
[root@CN01L0301000041 ~]#tar -xvf
MySQL-5.5.23-1.rhel5.x86_64.tar
MySQL-client-5.5.23-1.rhel5.x86_64.rpm
MySQL-devel-5.5.23-1.rhel5.x86_64.rpm
MySQL-embedded-5.5.23-1.rhel5.x86_64.rpm
MySQL-server-5.5.23-1.rhel5.x86_64.rpm
MySQL-shared-5.5.23-1.rhel5.x86_64.rpm
MySQL-test-5.5.23-1.rhel5.x86_64.rpm
3. 安装MySQL
如果发现如下报错,则需要先删除当前存在的版本再重新安装
删除操作步骤后面有介绍
[root@CN01L0301000041 ~]# rpm -ivhMySQL-server-5.5.23-1.rhel5.x86_64.rpm
error: Failed dependencies:
MySQL
conflicts with mysql-5.0.77-3.el5.x86_64
MySQL
conflicts with mysql-5.0.77-3.el5.i386
删除当前版本
[root@CN01L0301000041 ~]# rpm -emysql-5.0.77-3.el5.x86_64--nodeps
[root@CN01L0301000041 ~]# rpm -emysql-5.0.77-3.el5.i386--nodeps
执行以下命令进行安装
[root@CN01L0301000025 Mysql]# rpm -ivh
MySQL-server-5.5.23-1.rhel5.x86_64.rpm
Preparing...########################################### [100%]
1:MySQL-server###########################################
[100%]
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 CN01L0301000025 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!
[root@CN01L0301000025 Mysql]#
别忘记安装客户端,需要连接到数据库还需要单独安装Mysql客户端
[root@CN01L0301000041 ~]# rpm -ivh MySQL-client-5.5.23-1.rhel5.x86_64.rpm
Preparing...########################################### [100%]
1:MySQL-client########################################### [100%]
安装完之后可能服务器没有启来,需要把服务器启动之后才能做其它操作
[root@jxprod mysql]# /etc/init.d/mysql restart
MySQL server PID file could not be found![FAILED]
Starting MySQL..[OK
4. 检查是否安装成功
执行mysql命令,有可能会遇到以下错误:
ERROR 2002 (HY000): Can’t connect to local MySQL server
through socket '/var/lib/mysql/mysql.sock' (2)
这有可能是因为/var/lib/mysql的访问权限问题,需要执行以下命令:
[root@CN01L0301000041 ~]# chown -R mysql:mysql
/var/lib/mysql
服务没有启来可能会报如下错误
[mysql@jxprod ~]$ mysqladmin -u root password mysql
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket
'/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket:
'/var/lib/mysql/mysql.sock' exists!
5. 修改root密码和连接限制
默认情况下安装好mysql数据库之后root密码是空的,为了安全起见需要修改root用户密码,我这里设置的密码为mysql
切换到mysql用户
-bash-3.2$ mysqladmin -u root password mysql
-bash-3.2$ /usr/bin/mysqladmin -u root -h CN01L0301000025
passwordmysql
修改使用root连接的IP
#mysql -uroot -pmysql
mysql>use mysql;
mysql>grant all on *.* to root@'%' identified by
"mysql";
mysql>FLUSH PRIVILEGES;
mysql>exit;
6.修改参数和配置文件
Mysql的参数文件模板放在/usr/share/mysql/下面,一共有5个配置文件模板,根据硬件情况拷贝合适的文件进行调整
[root@CN01L0301000041 ~]# ls -lrt
/usr/share/mysql/*.cnf
-rwxr-xr-x 1 root root2846 Mar 30 15:27
/usr/share/mysql/my-small.cnf
-rwxr-xr-x 1 root root4682 Mar 30 15:27
/usr/share/mysql/my-medium.cnf
-rwxr-xr-x 1 root root4671 Mar 30 15:27
/usr/share/mysql/my-large.cnf
-rwxr-xr-x 1 root root 19779 Mar 30 15:27
/usr/share/mysql/my-innodb-heavy-4G.cnf
-rwxr-xr-x 1 root root4697 Mar 30 15:27
/usr/share/mysql/my-huge.cnf
配置低的虚拟可以使用large的配置
cp/usr/share/mysql/my-large.cnf /etc/my.cnf
物理机可以使用 huge的配置
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
以上为5.5的配置文件5.6的只有一个cnf文件
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
7. 修改参数使表名不区分大小写
默认情况下表名是区分大小写的,这对于开发可能会带来一些麻烦,我们修改参数使它不区分大小写
使用root修改/etc/my.cnf文件,在[mysqld]后面添加lower_case_table_names=1
(0表示区分大小写),再重启mysql
# The MySQL server
[mysqld]
port= 3306
socket=
/var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
lower_case_table_names=1
-bash-3.2$/etc/init.d/mysql restart
8.把mysql服务器加入到自启动中
查看mysql是否在自动启动列表中
chkconfig --list |grep mysql
把MySQL添加到系统的启动服务组里面去
[root@CN01L0301000041 ~]# chkconfig --addmysql
把MySQL从启动服务组里面删除。
[root@CN01L0301000041 ~]# chkconfig --delmysql
9.MySQL数据库的重要目录
1. 数据库目录
/var/lib/mysql/
2. 配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3. 相关命令
/usr/bin (mysqladmin mysqldump等命令)
4. 启动脚本
/etc/rc.d/init.d/ (启动脚本文件mysql的目录)
10.连接mysql
可以使用第三方工具在windows上面直接连接,比较流行的有phpMyAdmin, MySQL ODBC Connector, MySQLDumper等,我这里用的是navicat
二.卸载
1、查找已装mysql情况
[root@CN01L0301000025 mysql]# rpm -qa|grep
-i mysql
MySQL-server-5.5.23-1.rhel5
MySQL-client-5.5.23-1.rhel5
2、删除mysql
删除命令:rpm -e --nodeps 包名
[root@CN01L0301000025 mysql]# rpm -e
MySQL-server-5.5.23-1.rhel5--nodeps
[root@CN01L0301000025 mysql]# rpm -e
MySQL-client-5.5.23-1.rhel5--nodeps
如果报错可以尝试rpm -e --allmatches --nodeps 包名进行删除
3、删除老版本mysql的开发头文件和库
命令:
rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql