1.准备工作
从MySQL官网上分别下载mysql服务器端于客户端包。
如:
MySQL-server-5.5.15-1.linux2.6.x86_64.rpm和MySQL-client-5.5.15-1.linux2.6.x86_64.rpm
并放到/opt/software目录下
2.检测系统是否安装MySQL
(1)进入系统后,检测是否安装mysql.
如:检测是否安装Mysql输入
#rpm -qa | grep -i mysql
若已安装过,会出现以下
MySQL-server-5.0.22-0.i386
MySQL-client-5.0.22-0.i386
(2)那么输入以下命令删除它:
#rpm -ev MySQL-server-5.0.22-0.i386
# rpm -ev MySQL-client-5.0.22-0.i386
注意:若删除的时候,出现删除不成功,出现依赖的包,前提必须删除依赖项。
rpm -ev dovecot-1.0.7-7.el5.x86_64
3.安装MySQL
顺序
common>libs>client>server
rpm -ivh 一个个安装
启动mysql
执行命令:
service mysqld start
然后查看mysqld的进程
ps–ef|grep mysqld
我们使用命令
mysql --version
查看mysql的版本信息
开机启动
chkconfig mysqld on #开机自启动
修改配置
1> 数据库存放路径
在etc/my.conf
datadir=改成新的地址
2> 不区分表的大小写
在etc/my.conf
lower_case_table_names=1
其中0:区分大小写,1:不区分大小写
改为后要重启
登录Mysql数据库,使用命令:
mysql –u root –p
会提示:
mysql Access denied for user root@localhost
解决方法:
1> 添加 skip-grant-tables 不需要密码校验,直接能进入
cd /etc
vi my.conf
最下面新增: skip-grant-tables
保存
service mysqld restart
2> 登录mysql
mysql 直接回车,就可以进入
mysql>
mysql>use mysql;
mysql>update user set authentication_string=password("your_new_password") where user="root";
mysql> flush privileges;
mysql>exit
3> 重启
再次编辑/etc/my.cnf,把skip-grant-tables注释掉,不注释掉那就永远不需要密码就可以登录了,这就太可怕了。
重启
4> 重新登录
# mysql -uroot -pyour_new_password
4.MySQL数据库导入导出
导出导入指定数据库的数据
1.导出
mysqldump -u root -p123456 test > test.sql
2.导入
mysql -u root -p123456 test < test.sql
mysql登录密码特殊字符加转义字符\即可
在导入mysql过程中出现
ERROR : (2006, 'MySQL server has gone away')
的问题意思就是指client和MySQL server之间的链接断开了。
造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可以在程序中将数据分批插入)。
当查询的结果集超过 max_allowed_packet 也会出现这样的报错。定位方法是打出相关报错的语句。
用select * into outfile 的方式导出到文件,查看文件大小是否超过 max_allowed_packet ,如果超过则需要调整参数,或者优化语句。
mysql> show global variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
1 row in set (0.00 sec)
修改参数:
mysql> set global max_allowed_packet=1024*1024*16;
mysql> show global variables like 'max_allowed_packet';
+--------------------+----------+
| Variable_name | Value |
+--------------------+----------+
| max_allowed_packet | 16777216 |
+--------------------+----------+
1 row in set (0.00 sec)
(完)