centos 6.5
mysql 5.7.16;官网下载地址:http://dev.mysql.com/downloads/mysql/
centos 7 安装mysql 5.7.19遇到的问题,并解决
http://blog.csdn.net/shuai825644975/article/details/78248037
使用rpm安装mysql的默认目录:
1、数据库目录 /var/lib/mysql/
2、配置文件 /usr/share/mysql(mysql.server命令及配置文件)
3、相关命令 /usr/bin(mysqladmin mysqldump等命令)
4、启动脚本 /etc/rc.d/init.d/(启动脚本文件mysql的目录)
1、解压下载的安装包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar
tar -xvf xxx.tar
2、依次执行命令
sudo rpm -ivh --force mysql-community-common-5.7.16-1.el6.x86_64.rpm
sudo rpm -ivh --force mysql-community-libs-5.7.16-1.el6.x86_64.rpm
sudo rpm -ivh --force mysql-community-client-5.7.16-1.el6.x86_64.rpm
sudo rpm -ivh --force mysql-community-server-5.7.16-1.el6.x86_64.rpm
(以上命令执行,如果报错:error: Failed dependencies: xxx;在命令后面加 --nodeps --force;如:sudo rpm -ivh --force mysql-community-libs-5.7.16-1.el6.x86_64.rpm --nodeps --force)
3、启动mysql
命令:sudo service mysqld start
mysql成功启动会在日志文件初始化root登录密码
默认日志路径:/var/log/mysqld.log
打开日志查看密码
启动:sudo service mysqld start
重启:sudo service mysqld restart
停止:sudo service mysqld stop
4、登录mysql
mysql默认安装启动文件在/usr/bin目录下
执行命令:mysql -uroot -p
提示输入密码,就刚才日志文件拿到的
5、修改root初始密码
登陆成功后,执行sql会提示,必须重置密码才行
命令:
alter user 'root'@'localhost' identified by 'password';
或
set password = password('password');
密码包含大小写字母、特殊字符串、数字
查看端口
show global variables like 'port';
----------------------------------------------------------------------------------------------------
6、创建新用户并授权
6.1、创建新用户
create user 'es_dev'@'localhost' identified by 'Es_dev_xxx';
'es_dev' - 自定义帐号
'localhost' - 帐号只能通过本机访问,'%' - 帐号允许远程访问,'115.28.xx.xx' - 帐号允许指定ip访问
6.2、修改密码
update mysql.user set password=password('Es_dev_xxx') where user='es_dev';
6.3、添加权限
grant all privileges on db_auth.* to 'es_dev'@'localhost';
all - 可以改为select,delete,update,create,drop等权限
db_auth.* - db_auth想授权的数据库,*想授权的表
*.* - 所有权限(所有数据库的所有表)
6.4、删除用户
delete from mysql.user where user='es_dev';
6.5、刷新权限
flush privileges;
---------------------------------------------------------------
问题:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (9340992 > 4194304)
在做数据库操作时,字段太大,会报上述错误,原因是MySQL的max_allowed_packet默认设置过小引起的;mysql根据配置文件会限制server接受的数据包大小。 有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败。
登录mysql命令行查看当前配置:show VARIABLES like '%max_allowed_packet%';
修改方法:
修改my.cnf的max_allowed_packet配置项,在[mysqld]下;然后重启mysql生效。
(如果找不到my.cnf,可以通过【mysql --help | grep my.cnf】查找)
重启mysql,已生效