新装mysql版本 mysql-5.5.56.tar.gz cmake-2.8.6.tar.gz 系统为centos6.8html
编译后启动报错 :mysql
Starting MySQL..The server quit without updating PID file ([FAILED]al/mysql/data/iZwz92ycxa8b5l94ufhgbcZ.pid).
tail -f /usr/local/mysql/data/iZwz92ycxa8b5l94ufhgbcZ.err
查看日志文件出现以下一条:sql
180419 12:27:49 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
通过查阅资料得知。要敲以下命令解决:数据库
cd /usr/local/mysql/scripts/
./mysql_install_db –usrer=mysql datadir=/usr/local/mysqlcentos
出现错误:服务器
FATAL ERROR: Could not find ./bin/my_print_defaults (本应该存在于安装mysql目录下)并发
If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.socket
If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.
告诉我没有找到 ./bin/my_print_defaults 可在ls -l bin下有学习
以后百度一下有各类方法其中一种小白没有试过 附上地址:ui
https://blog.csdn.net/m0_37975886/article/details/78329341?locationNum=7&fps=1
有朋友尝试过还望告诉小白一块儿学习
我采用的另一种方法:
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
启动:
[root@iZwz92ycxa8b5l94ufhgbcZ bin]# service mysqld start
Starting MySQL.. [ OK ]
由于是新安装因此直接admin形式修改密码 mysqladmin -u root password "密码"
select host, user from user;
+-------------------------+------+
| host | user |
+-------------------------+------+
| 127.0.0.1 | root |
| ::1 | root |
| izwz92ycxa8b5l94ufhgbcz | |
| izwz92ycxa8b5l94ufhgbcz | root |
| localhost | |
| localhost | root |
+-------------------------+------
须要远程链接须要新受权:
进入数据库:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
(百分号也可换成容许访问的ip 配合iptables使用)
flush privileges; 刷新权限
查看可链接访问的限定:
use mysql;
select host,user from user;
+----------------+------+
| host | user |
+----------------+------+
| 127.0.0.1 | root |
| % | root |
| localhost | root |
+----------------+------+
3 rows in set (0.00 sec)
如若忘记密码须要重置
https://www.cnblogs.com/itor/p/6339505.html
ERROR 1040 (HY000): Too many connections
链接已达最大值
可用netstat -anput |grep 3306 |wc -l 查看有多少使用3306端口访问或者进入mysql数据库
mysql> show status like '%connect%';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Aborted_connects | 0 |
| Connections | 11 |
| Max_used_connections | 5 |
| Threads_connected | 5 |
+----------------------+-------+
4 rows in set (0.00 sec)
Threads_connected 当前的链接数,Connections 试图链接到(无论是否成功)MYSQL服务器的链接总数, Max_used_connections 服务器启动后已经同时使用过的链接最大数量(并发)。
mysql> show global variables like 'port'; # 查看MySQL运行的实际端口
修改有两种方法:
第一:
mysql>select VARIABLE_VALUE from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='MAX_CONNECTIONS'; 查看设置的最大是多少
mysql> set global max_connections = 3600; 修改成3600最大值
第二:
直接修改/etc/my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
max_connections=1000
修改后须要重启服务
#################################################
新建用户:CREATE USER ‘username'@'localhost' IDENTIFIED BY ‘password';
username 用户名
localhost 容许链接的范围 注意iptables限制
password 设置密码
用户已建立完成 但此时并无对其已存在数据库进行受权 所以username并无对其余数据库的操做权限
GRANT ALL ON *.* TO 'username'@'%';
ALL 全部权限
CREATE: 建立库、表和索引
LOCK_TABLES: 锁定表
ALTER: 修改表
DELETE: 删除表
INSERT: 插入表或列
SELECT: 检索表或列的数据
CREATE_VIEW: 建立视图
SHOW_DATABASES: 列出数据库
DROP: 删除库、表和视图
*.* 选中全部库及其全部表
新增或设置最后 FLUSH PRIVILEGES;