CentOS下yum安装MySQL

来源:互联网 发布:java修改文件权限 编辑:程序博客网 时间:2024/05/16 08:02

检测是否有安装

yum list installed | grep mysqlrpm -qa | grep mysql

rpm -ql xxx 可以找到通过yum 安装软件的路径

卸载
yum -y remove xxx

安装

yum -y install mysql-server mysql mysql-devel
查看版本信息
rpm -qi mysql-server
启动MySQL
service mysqld start/restart
查看mysql服务是否开机自动启动
chkconfig --list | grep mysql
设置开机启动
chkconfig mysql on
为root账号设置密码
mysqladmin -u root password '123456'
登陆MySQL
mysql -u root -p

/etc/my.cnfmysql的主配置文件
/var/lib/mysql mysql数据库的数据库文件存放位置
/var/log/mysqld.log mysql数据库的日志输出存放位置 

常见问题

Host “XXX” is not allowed to connect to this MySQL server

现象:我遇到的问题是在localhost上可以登录MySQL,但是在客户机上连接不上,因为帐号不允许从远程登陆导致的。

解决办法:在服务端用localhost登录,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”。登录后执行下列命令,就可以看到user表中账号和host了。

use mysqlupdate user set host = '%' where user = 'root';select host, user from user;

执行上面操作后可能会出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'提示,是因为表中重复数据导致的,这个没关系,然后重启下MySQL服务,客户端就可以连上了。

Packet for query is too large

写数据到数据库时,文本内容太大导致的,解决办法:/etc/my.cnf MySQL的配置文件中增加如下配置,然后重启下MySQL,max_allowed_packet默认值是1M

[mysqld]max_allowed_packet = 4M

GROUP BY incompatible with sql_mode=only_full_group_by

这个是MySQL版本不同默认设置不同导致的,解决办法:
修改MySQL的配置文件/etc/my.cnf,增加如下配置,重启MySQL。

[mysqld]sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

或者在执行命令修改sql_mode

mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';mysql> set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

[参考]
CentOS6.4下Mysql数据库的安装与配置
mysql 远程访问不行解决方法 Host is not allowed to connect to this MySQL server
Packet for query is too large(mysql写入数据过大)
Getting this SQL Error: GROUP BY incompatible with sql_mode=only_full_group_by
an error in MySql related to only_full_group_by when executing a query

1 0
原创粉丝点击