MySQL安装及可能出现的问题

MySQL出现User xxx already has more than 'max_user_connections' active connections问题

1.查看数据库最大连接数

show global variables like '%connection%';

2.查看所有连接人数

show PROCESSLIST;

3.修改最大连接数

set global max_user_connections=500-1000;

set global max_connections=500-1000;

MySQl出现The MySQL server is running with the --read-only option so it cannot execute this statement问题

问题出现的原因:

1.连到从库了。从库一般设置为只读。

2.主库的read_only参数被修改为1

解决问题:手工修改为0后,问题解决。问题是read_only为什么会设置为1呢

select @@read_only;

set global read_only=0;

MySQl出现Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column....问题

问题出现的原因:

MySQL 5.7.5后only_full_group_by成为sql_mode的默认选项之一,这可能导致一些sql语句失效。

解决问题:

1、修改my.conf或my.ini配置文件的sql_mode

2、手动修改:set @@sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

select @@sql_mode

MySQL安装

tar -xvf Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar

rpm -ivh Percona-Server-56-debuginfo-5.6.24-rel72.2.el6.x86_64.rpm

rpm -ivh Percona-Server-shared-56-5.6.24-rel72.2.el6.x86_64.rpm

rpm -ivh Percona-Server-client-56-5.6.24-rel72.2.el6.x86_64.rpm

rpm –ivh Percona-Server-server-56-5.6.24-rel72.2.el6.x86_64.rpm

安装顺序:rpm包很多,只需安装debuginfo、shared、client、server

   安装目录

配置文件路径 /etc/my.cnf

注意:安装完成后,会将配置文件放在etc目录下

vi /etc/my.cnf

数据文件路径:/var/lib/mysql

  启动服务

service mysql start      //自动安装到它自己制定的目录下,注册服务为mysql

service mysql status

service mysql stop

    配置开机启动:

chkconfig --list         //展现开机的服务

  修改root密码

默认没有密码不安全:

mysqladmin –u root password "root"

Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法

先停止mysql 服务 service mysqld stop

进入mysql安装目录bin/ 使用safe模式,进行重启:/usr/bin/mysqld_safe --skip-grant-tables

Warning警告提示,忽略即可。

登录:

mysql –uroot –proot

已经有密码进行修改

mysql> use mysql;

mysql> update user set password=PASSWORD('root') where user='root';

mysql> flush privileges;

验证是否成功安装

use mysql     //打开mysql数据库

show tables    //查看mysql数据库下的表

注意:Percona安装和mysql正式版的安装,在依赖上有区别。

打开3306端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

/etc/rc.d/init.d/iptables save      #修改生效

/etc/init.d/iptables status         #查看配置

   执行数据库的脚本

创建库和数据库表及数据

mysql>use jtdb;

mysql>set names utf8;           #防止乱码

mysql>source jtdb.sql;

  拓展:如何快速导入大数据库备份文件

导入sql文件非常慢的问题

查看目标数据库的参数

#客户端/服务器之间通信的缓冲区的最大大小

show variables like 'max_allowed_packet';

#TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length行

show variables like 'net_buffer_length';

导出sql文件时指定参数

mysqldump -uroot -p 数据库名 -e --max_allowed_packet=4194304 --net_buffer_length=16384 > sql文件路径

导入sql文件

use 目标数据库

source /usr/local/src/lotteryanalysis.sql

  查看有多少表,每张表有多少记录

mysql 5.6中的information schema,就是存储了很多数据库的元数据,其实很多可以用来做数据库的性能查询用。

USE information_schema;

SELECT table_name,table_rows FROM TABLES

WHERE TABLE_SCHEMA = 'jtdb'

ORDER BY table_rows DESC;

注意:[1]mysql内部原因,统计不准确

开启MYSQL远程访问权限

语法:

grant [权限] on [数据库名].[表名] to ['用户名']@['web服务器的ip地址'] identified by ['密码'];

grant all on *.* to 'root'@'%' identified by 'root';

或者指定IP地址

grant all on *.* to 'root'@'192.168.1.103' identified by 'root';

修改MYSQL数据库编码

vi /etc/my.cnf

在[mysqld]下边添加以下内容:

character-set-server=utf8

init_connect='SET NAMES utf8'

在[mysqld]上边添加以下内容:

[mysql]

default-character-set=utf8

重启MySQL:

systemctl restart mysqld

查看MySQL编码的命令行:

show variables like '%character%';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当在MySQL出现乱码时,可能是由于以下几个原因导致的: 1. 字符集设置不正确:MySQL有默认的字符集,如果你的数据中包含了其他字符集的数据,可能会导致乱码。可以通过修改MySQL配置文件中的字符集设置来解决这个问题。 2. 数据库、表或字段的字符集设置不正确:每个数据库、表和字段都可以有自己的字符集设置。如果字符集设置不正确,插入或读取数据时就会出现乱码。可以通过修改数据库、表或字段的字符集来解决这个问题。 3. 连接字符集设置不正确:在连接MySQL数据库时,可以指定连接的字符集。如果连接字符集设置不正确,插入或读取数据时就会出现乱码。可以在连接MySQL时指定正确的字符集来解决这个问题。 4. 数据库客户端工具的字符集设置不正确:如果你使用的是MySQL客户端工具(如Navicat、MySQL Workbench等),可能需要在工具中设置正确的字符集,以确保正确显示数据。 解决乱码问题的具体步骤如下: 1. 确认MySQL服务器的默认字符集设置,可以通过查看MySQL配置文件(my.cnf)中的配置项来确认,默认为utf8或utf8mb4。 2. 确认数据库、表和字段的字符集设置,可以使用以下命令查看: ``` SHOW CREATE DATABASE database_name; SHOW CREATE TABLE table_name; SHOW FULL COLUMNS FROM table_name; ``` 如果字符集设置不正确,可以使用ALTER命令修改字符集。 3. 确认连接字符集设置,可以在连接MySQL时指定字符集,例如: ``` mysql -h hostname -u username -p --default-character-set=utf8 ``` 4. 确认数据库客户端工具的字符集设置,根据具体的工具进行设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值