Centos6.5 MySql rpm安装
一、检查MySQL及相关RPM包,是否安装,如果有安装,则移除
[root@Mast ~]# rpm -qa | grep -i mysql mysql-libs-5.1.66-2.el6_3.x86_64 #卸载的时候可能存在依赖包,直接 -ev还删除不掉,需加上--nodeps 强制删除 [root@Mast ~]# rpm -ev mysql-libs-5.1.66-2.el6_3.x86_64 error: Failed dependencies: libmysqlclient.so.16()(64bit) is needed by (installed) postfix-2:2.6.6-2.2.el6_1.x86_64 libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed) postfix-2:2.6.6-2.2.el6_1.x86_64 mysql-libs is needed by (installed) postfix-2:2.6.6-2.2.el6_1.x86_64 [root@Mast ~]# rpm -ev mysql-libs-5.1.66-2.el6_3.x86_64 --nodeps
二、下载Linux对应的RPM包
官方下载地址:http://dev.mysql.com/downloads/mysql/ 选择MySql Community Service(社区版进行下载)
我的是centos6.5 x86的系统,所以的下载包如下所示
[root@Mast data]# uname -a Linux Mast 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@Mast data]# ls -l total 115360 -rw-r--r--. 1 root root 23495271 MySQL-client-5.6.30-1.linux_glibc2.5.x86_64.rpm -rw-r--r--. 1 root root 4591071 MySQL-devel-5.6.30-1.linux_glibc2.5.x86_64.rpm -rw-r--r--. 1 root root 90037444 MySQL-server-5.6.30-1.linux_glibc2.5.x86_64.rpm
三、安装MySQL
[root@Mast data]# rpm -ivh MySQL-server-5.6.30-1.linux_glibc2.5.x86_64.rpm [root@Mast data]# rpm -ivh MySQL-devel-5.6.30-1.linux_glibc2.5.x86_64.rpm [root@Mast data]# rpm -ivh MySQL-client-5.6.30-1.linux_glibc2.5.x86_64.rpm
四、初始化MySQL及设置密码
[root@Mast ~]# /usr/bin/mysql_install_db #初始化数据库 [root@Mast ~]# service mysql start #启动数据库 [root@Mast ~]# cat /root/.mysql_secret #查看root用户的初始密码 # The random password set for the root user at Mon May 16 19:31:48 2016 (local time): DXaM9aqT62DxVUcv [root@localhost ~]# mysql -uroot –p mysql> SET PASSWORD = PASSWORD('123456'); #设置密码为123456 mysql> exit [root@localhost ~]# mysql -uroot -p
五、允许远程登录
mysql> use mysql; mysql> select host,user,password from user; +-----------------------+------+-------------------------------------------+ 04 | host | user | password | +-----------------------+------+-------------------------------------------+ | localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | localhost.localdomain | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 | | 127.0.0.1 | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 | | ::1 | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 | +-----------------------+------+-------------------------------------------+ mysql> update user set password=password('123456') where user='root'; mysql> update user set host='%' where user='root' and host='localhost'; mysql> flush privileges; mysql> exit
当远程通过jdbc连接数据库的时候,报如下错误;但是通过远程工具连接又不可以连接上。
java.sql.SQLException: Your password has expired.To log in you must change it using a client that supports expired passwords.
这句话的意思是,使用的密码过期,请及时修改密码;按照网上的很多指示修改密码,依然不能解决这个问题,怎么办?
答:解决方案如下:
mysql> select host,user,password_expired from user; +--------------+------+------------------+ | host | user | password_expired | +--------------+------+------------------+ | % | root | N | | master | root | N | | 127.0.0.1 | root | Y | | ::1 | root | N | | 172.16.8.163 | scm | N | | master | scm | Y | | localhost | root | Y | | localhost | scm | Y | +--------------+------+------------------+ 8 rows in set (0.00 sec)
简单说明一下:发现表中密码过期,密码过期状态(password_expired字段值)是否为Y,Y表示已过期,需要修改为N;
执行如下sql,将所有密码,都置为可用,完美解决。
update user set password_expired='N'
六、设置开机自启动
[root@Mast data]# chkconfig mysql on [root@Mast data]# chkconfig --list mysql mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@Mast data]#
七、修改字符集
查看linux系统的字符集
mysql> SHOW VARIABLES LIKE 'character%'; +--------------------------+------------------------------------+ | Variable_name | Value | +--------------------------+------------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /data/mysql-5.6.30/share/charsets/ | +--------------------------+------------------------------------+
可以看到character_set_database和character_set_server的默认字符集还是latin1,配置/etc/my.cnf文件,加入如下代码,重启后,完美解决
[client] default-character-set=utf8 [mysqld] character-set-server=utf8 [mysql] default-character-set=utf8
每个版本的mysql这个文件的默认配置不一定相同,加入原则就是:
在[client] 后面加上default-character-set=utf8
在[mysqld]后面加上character-set-server=utf8
在[mysql]后面加上default-character-set=utf8
八、MySQL的默认安装位置
/var/lib/mysql/ #数据库目录 /usr/share/mysql #配置文件目录 /usr/bin #相关命令目录 /etc/init.d/mysql #启动脚本
参考博客:http://blog.csdn.net/liumm0000/article/details/18841197