您的位置:首页 > 运维架构 > Linux

CentOS6.5下安装mysql-5.6

2016-02-22 00:00 501 查看

a.检查下linux是不是已经安装了mysql

rpm -qa | grep -i mysql
#如果安装了先卸载旧的版本
yum -y remove MySQL-client-5.6.20-1.el6.x86_64.rpm

b.下载需要的安装包,下载地址:

http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.20-1.el6.x86_64.rpm http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-devel-5.6.20-1.el6.x86_64.rpm http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.20-1.el6.x86_64.rpm

c、开始逐个安装

rpm -ivh MySQL-server-5.6.20-1.el6.x86_64.rpm
rpm -ivh MySQL-devel-5.6.20-1.el6.x86_64.rpm
rpm -ivh MySQL-client-5.6.20-1.el6.x86_64.rpm

d.修改配置文件位置并做相关设置

cp /usr/share/mysql/my-default.cnf /etc/my.cnf
vi /etc/my.cnf
#做如下配置
[client]
password = 123456
port = 3306
default-character-set=utf8
[mysqld]
port = 3306
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
#linux下mysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写
lower_case_table_names=1
#设置最大连接数,默认为 151,MySQL服务器允许的最大连接数16384
max_connections=1000
[mysql]
default-character-set = utf8

e.初始化MySQL及设置密码

/usr/bin/mysql_install_db
service mysql start

f.登录到mysql,第一次装没有密码,直接回车

mysql -uroot -p
#设置root用户的密码
mysql> update user set password=password('123456') where user='root';

g.设置允许远程登录

mysql> use mysql;
mysql> select host,user,password from user;
mysql> update user set host='%' where user='root' and host='localhost';
mysql> flush privileges;
mysql> exit;

h.设置开机自启动

chkconfig mysql on
chkconfig --list | grep mysql

i. MySQL的默认安装位置说明

/var/lib/mysql/   #数据库及日志目录
/usr/share/mysql  #配置文件目录
/usr/bin          #相关命令目录
/etc/init.d/mysql #启动脚本                                                  注:卸载mysql的时候,将这些目录下的文件也删掉。

可能遇到的错误(一)

2014-01-21 06:03:29 14964 [ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if      non-zero) pages!
2014-01-21 06:03:29 14964 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace,&nbs
8000
p;and it failed here, you   should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of  zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
2014-01-21 06:03:29 14964 [ERROR] Plugin 'InnoDB' init function returned error.
2014-01-21 06:03:29 14964 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2014-01-21 06:03:29 14964 [ERROR] Unknown/unsupported storage engine: InnoDB
2014-01-21 06:03:29 14964 [ERROR] Aborting
在/var/lib/mysql/目录下删掉这三个文件:ibdata1 ib_logfile0 ib_logfile1 然后重启mysql
cd /var/lib/mysql
rm ibdata1 ib_logfile0 ib_logfile1
service mysql start

可能遇到的错误(二)

[root@localhost local]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
方法操作很简单,如下:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
//把空的用户密码都修改成非空的密码。
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='root' or
host='localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit # /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

可能遇到的错误(三)

mysql> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
这句话要求你重新设置一次密码!
mysql>  SET PASSWORD = PASSWORD('123456');
Query OK, 0 rows affected (0.03 sec)
mysql> create database roger;
Query OK, 1 row affected (0.00 sec)


可能遇到的错误(四)
利用安全模式成功登陆,然后修改密码,等于给MySql设置了密码。登陆进去后,想创建一个数据库测试下。得到的结果确实:
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
参考官方的一个文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。如下操作后就ok了:
用mysql>  SET PASSWORD = PASSWORD('123456');这句话重新设置一次密码

可能遇到的错误(五)
启动mysql报错The server quit without updating PID file

查看日志/data/mysql/log/error.log发现如下error:
121031 14:14:11 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
121031 14:14:12 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

解决方法: 执行/usr/bin/mysql_install_db --user=mysql没有成功,没有初始化数据库,不能启动mysql守护进程,重新执行:
/usr/bin//mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/date --user=mysql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: