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%';
總結
以上是生活随笔為你收集整理的MySQL安装及可能出现的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL5.7 Linux安装流程
- 下一篇: 哔哩哔哩注册--表单练习